X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=build%2Ftizen%2FCMakeLists.txt;h=056af0b996a0e038762fd6b0deff3f8c021d2bb1;hb=HEAD;hp=cd463b50172e81104f132e0eef3d94691201ad0e;hpb=4562af123a3a8ab849bc23215b720f0c123bd6ff;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/build/tizen/CMakeLists.txt b/build/tizen/CMakeLists.txt index cd463b5..13fe82c 100644 --- a/build/tizen/CMakeLists.txt +++ b/build/tizen/CMakeLists.txt @@ -31,10 +31,12 @@ OPTION(ENABLE_I18N "Turns on internationalisation" OFF) OPTION(ENABLE_COVERAGE "Coverage" OFF) OPTION(ENABLE_PKG_CONFIGURE "Use pkgconfig" ON) OPTION(ENABLE_LINK_TEST "Enable the link test" ON) +OPTION(ENABLE_VULKAN "Enable Vulkan instead of GLES" OFF) 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 +220,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 ) @@ -308,6 +298,7 @@ ENDIF() IF(NOT ANDROID) ADD_EXECUTABLE(${SHADER_GENERATOR_NAME} ${SHADER_GENERATOR_SOURCES}) + TARGET_LINK_LIBRARIES( ${SHADER_GENERATOR_NAME} ${COVERAGE} ) INSTALL(TARGETS ${SHADER_GENERATOR_NAME} RUNTIME DESTINATION bin) ELSE() # Need to build dali-shader-generator using the host compiler, not the android cross-compiler so @@ -324,9 +315,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}) @@ -367,7 +360,31 @@ IF ( WIN32 ) FIND_PACKAGE( pthreads REQUIRED ) ENDIF() +IF( NOT ENABLE_VULKAN) + SET(SOURCES ${SOURCES} + ${toolkit_internal_egl_src_files} + ${public_api_egl_src_files} + ) +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} @@ -375,7 +392,7 @@ TARGET_LINK_LIBRARIES( ${name} ) IF( ANDROID ) - TARGET_LINK_LIBRARIES( ${name} log ) + TARGET_LINK_LIBRARIES( ${name} log GLESv3 EGL) ENDIF() SET_TARGET_PROPERTIES( ${name} @@ -510,7 +527,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 ) @@ -553,10 +570,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 ) @@ -564,6 +584,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 ) @@ -571,9 +602,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 @@ -617,6 +648,7 @@ MESSAGE( STATUS "Debug build: " ${ENABLE_DEBUG} ) MESSAGE( STATUS "Export all symbols: " ${ENABLE_EXPORTALL} ) MESSAGE( STATUS "Coverage: " ${ENABLE_COVERAGE} ) MESSAGE( STATUS "Trace: " ${ENABLE_TRACE} ) +MESSAGE( STATUS "Vulkan: " ${ENABLE_VULKAN} ) MESSAGE( STATUS "Doxygen: " ${doxygenEnabled} ) MESSAGE( STATUS "Data Dir (Read/Write): " ${dataReadWriteDir} ) MESSAGE( STATUS "Data Dir (Read Only): " ${dataReadOnlyDir} ) @@ -629,7 +661,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} )