X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=build%2Ftizen%2FCMakeLists.txt;h=a1f4efdd961aef8e589888ccc6b4dfdb9fd8a059;hp=2258fabe4c04c1fdf265a9db9e067e023b80b8a8;hb=HEAD;hpb=7923c3d4f1d8ef3866e07eb43e5f6806cb108ef2 diff --git a/build/tizen/CMakeLists.txt b/build/tizen/CMakeLists.txt index 2258fab..056af0b 100644 --- a/build/tizen/CMakeLists.txt +++ b/build/tizen/CMakeLists.txt @@ -34,7 +34,8 @@ OPTION(ENABLE_LINK_TEST "Enable the link test" ON) OPTION(INSTALL_DOXYGEN_DOC "Install doxygen doc" ON) OPTION(CONFIGURE_AUTOMATED_TESTS "Configure automated tests" ON) OPTION(USE_DEFAULT_RESOURCE_DIR "Whether to use the default resource folders. Otherwise set environment variables for DALI_IMAGE_DIR, DALI_SOUND_DIR, DALI_STYLE_DIR, DALI_STYLE_IMAGE_DIR and DALI_DATA_READ_ONLY_DIR" ON) -OPTION(BUILD_SCENE_LOADER "Whether to build dali-scene-loader." ON) +OPTION(BUILD_SCENE3D "Whether to build dali-scene3d." ON) +OPTION(BUILD_PHYSICS "Whether to build dali-physics." ON) IF( ENABLE_PKG_CONFIGURE ) FIND_PACKAGE( PkgConfig REQUIRED ) @@ -218,19 +219,7 @@ ELSE() # Set up compiler flags and warnings ADD_COMPILE_OPTIONS( -Wno-ignored-qualifiers ) - # TODO: Clang is a lot more strict with warnings, we should address - # those issues at some point. - # Matches "Clang" or "AppleClang" - IF( NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) - ADD_COMPILE_OPTIONS( -Werror ) - ENDIF() - - ADD_COMPILE_OPTIONS( -Wall -Wno-unused-parameter -Wno-float-equal ) ADD_COMPILE_OPTIONS( -Wall -Wno-unused-parameter -Wno-float-equal ) - CHECK_CXX_COMPILER_FLAG(-Wno-class-memaccess HAVE_NO_CLASS_MEMACCESS) - IF (HAVE_NO_CLASS_MEMACCESS) - ADD_COMPILE_OPTIONS( -Wno-class-memaccess ) - ENDIF() IF( ENABLE_COVERAGE OR "$ENV{CXXFLAGS}" MATCHES --coverage ) ADD_COMPILE_OPTIONS( --coverage ) @@ -325,9 +314,11 @@ ELSE() DESTINATION bin) ENDIF() -SET(BUILT_IN_SHADER_GEN_CPP "${GENERATED_SHADER_DIR}/generated/builtin-shader-gen.cpp") +SET(BUILT_IN_SHADER_GEN_CPP "${GENERATED_SHADER_DIR}/generated/builtin-shader-gen.cpp" ) + +FILE(GLOB SHADERS_SRC "${SHADER_SOURCE_DIR}/*.vert" "${SHADER_SOURCE_DIR}/*.frag" ) ADD_CUSTOM_COMMAND(OUTPUT ${BUILT_IN_SHADER_GEN_CPP} - DEPENDS ${SHADER_GENERATOR_NAME} + DEPENDS ${SHADER_GENERATOR_NAME} ${SHADERS_SRC} COMMAND ${SHADER_GENERATOR_BINARY} ${SHADER_SOURCE_DIR} ${SHADER_GENERATED_DIR}) SET(SOURCES ${SOURCES} ${BUILT_IN_SHADER_GEN_CPP}) @@ -369,6 +360,23 @@ IF ( WIN32 ) ENDIF() ADD_LIBRARY( ${name} ${LIBTYPE} ${SOURCES} ) + +SET(CUSTOM_COMPILE_OPTIONS "") + +# TODO: Clang is a lot more strict with warnings, we should address +# those issues at some point. +# Matches "Clang" or "AppleClang" +IF( NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) + SET(CUSTOM_COMPILE_OPTIONS ${MY_COMPILE_OPTIONS} -Werror) +ENDIF() + +CHECK_CXX_COMPILER_FLAG(-Wno-class-memaccess HAVE_NO_CLASS_MEMACCESS) +IF (HAVE_NO_CLASS_MEMACCESS) + SET(CUSTOM_COMPILE_OPTIONS ${MY_COMPILE_OPTIONS} -Wno-class-memaccess) +ENDIF() + +target_compile_options(${name} PRIVATE ${CUSTOM_COMPILE_OPTIONS}) + TARGET_LINK_LIBRARIES( ${name} ${DALICORE_LDFLAGS} ${DALIADAPTOR_LDFLAGS} @@ -376,7 +384,7 @@ TARGET_LINK_LIBRARIES( ${name} ) IF( ANDROID ) - TARGET_LINK_LIBRARIES( ${name} log ) + TARGET_LINK_LIBRARIES( ${name} log GLESv3 EGL) ENDIF() SET_TARGET_PROPERTIES( ${name} @@ -511,7 +519,7 @@ IF( ENABLE_COVERAGE ) ADD_CUSTOM_TARGET( ${DALI_TOOLKIT_PREFIX}rename_cov_data ./rename-cov-data ) ADD_CUSTOM_TARGET( ${DALI_TOOLKIT_PREFIX}cov_data ${LCOV_BIN} ${LCOV_OPTS} --base-directory . --directory . -c -o dali.info - COMMAND ${LCOV_BIN} ${LCOV_OPTS} --remove dali.info \"*/dali-env/*\" \"/usr/include/*\" \"*/dali-env/*\" \"*solid-color-actor*\" \"*/dali-toolkit/third-party/*\" \"*/dali-scene-loader/third-party/*\" -o dali.info ) + COMMAND ${LCOV_BIN} ${LCOV_OPTS} --remove dali.info \"*/dali-env/*\" \"/usr/include/*\" \"*/third-party/*\" -o dali.info ) ADD_CUSTOM_TARGET( ${DALI_TOOLKIT_PREFIX}coverage genhtml -p ${ROOT_SRC_DIR} ${LCOV_OPTS} -o ${COVERAGE_OUTPUT_DIR} dali.info DEPENDS cov_data ) @@ -554,10 +562,13 @@ IF( ENABLE_COVERAGE ) ENDIF( LCOV_BIN ) ENDIF() -IF ( BUILD_SCENE_LOADER ) - ADD_SUBDIRECTORY( ${CMAKE_CURRENT_SOURCE_DIR}/dali-scene-loader ) +IF ( BUILD_SCENE3D ) + ADD_SUBDIRECTORY( ${CMAKE_CURRENT_SOURCE_DIR}/dali-scene3d ) ENDIF() +IF ( BUILD_PHYSICS ) + ADD_SUBDIRECTORY( ${CMAKE_CURRENT_SOURCE_DIR}/dali-physics ) +ENDIF() # Build documentation if doxygen tool is available SET( doxygenEnabled OFF ) @@ -565,6 +576,17 @@ IF( DOXYGEN_FOUND ) SET( doxygenEnabled ON ) # 'prefix' is used by doxygen in-files. SET( prefix ${PREFIX} ) + + # Some doxygen properties not allowed at low version. + # We need to get doxygen version, and block in doxygen in-files. + EXECUTE_PROCESS( COMMAND bash -c "${DOXYGEN_EXECUTABLE} --version" OUTPUT_VARIABLE DOXYGEN_VERSION ) + + IF(${DOXYGEN_VERSION} VERSION_LESS "1.9.1") + SET( DOXYGEN_VERSION_LESS_1_9_1_BLOCKED "# ") + ELSE() + SET( DOXYGEN_VERSION_LESS_1_9_1_BLOCKED "") + ENDIF() + SET( DOXYGEN_DOCS_DIR ${ROOT_SRC_DIR}/docs ) SET( DOXYGEN_ROOT_DIR ${ROOT_SRC_DIR} ) SET( DOXYGEN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/docs ) @@ -572,9 +594,9 @@ IF( DOXYGEN_FOUND ) CONFIGURE_FILE( ${DOXYGEN_SRC_DIR}/dali.doxy.in ${DOXYGEN_SRC_DIR}/dali.doxy @ONLY ) CONFIGURE_FILE( ${DOXYGEN_INTERNAL_SRC_DIR}/dali-internal.doxy.in ${DOXYGEN_INTERNAL_SRC_DIR}/dali-internal.doxy @ONLY ) - IF ( BUILD_SCENE_LOADER ) + IF ( BUILD_SCENE3D ) ADD_CUSTOM_TARGET( doc_doxygen ALL - DEPENDS ${name} dali2-scene-loader + DEPENDS ${name} dali2-scene3d COMMAND ${DOXYGEN_EXECUTABLE} -u ${DOXYGEN_SRC_DIR}/dali.doxy COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_SRC_DIR}/dali.doxy COMMAND ${CMAKE_COMMAND} -P ${DOXYGEN_SRC_DIR}/check_for_errors.cmake @@ -630,7 +652,8 @@ MESSAGE( STATUS "Use pkg configure: " ${ENABLE_PKG_CONFIGURE} ) MESSAGE( STATUS "Vector Based Text Rendering: " ${ENABLE_VECTOR_BASED_TEXT_RENDERING} ) MESSAGE( STATUS "Enable link test: " ${ENABLE_LINK_TEST} ) MESSAGE( STATUS "Configure automated tests: " ${CONFIGURE_AUTOMATED_TESTS} ) -MESSAGE( STATUS "Build Dali Scene Loader: " ${BUILD_SCENE_LOADER} ) +MESSAGE( STATUS "Build Dali Scene3D: " ${BUILD_SCENE3D} ) +MESSAGE( STATUS "Build Dali Physics: " ${BUILD_PHYSICS} ) MESSAGE( STATUS "CXXFLAGS: " ${CMAKE_CXX_FLAGS} ) MESSAGE( STATUS "LDFLAGS: " ${CMAKE_SHARED_LINKER_FLAGS_INIT}${CMAKE_SHARED_LINKER_FLAGS} )