[dali_2.3.21] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / build / tizen / CMakeLists.txt
index 2258fab..056af0b 100644 (file)
@@ -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} )