DALi Version 2.1.21
[platform/core/uifw/dali-adaptor.git] / build / tizen / CMakeLists.txt
index be96e15..70cea5c 100644 (file)
@@ -1,7 +1,8 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.8.2)
 CMAKE_POLICY(SET CMP0012 NEW) # Prevent dereferencing of OFF/ON as variables
 
 SET(CMAKE_C_STANDARD 99)
+SET(CMAKE_CXX_STANDARD 17)
 PROJECT(${name} CXX)
 SET(PKG_NAME ${name})
 
@@ -16,6 +17,8 @@ ENDIF()
 
 OPTION(ENABLE_PKG_CONFIGURE  "Use pkgconfig" ON)
 OPTION(ENABLE_LINK_TEST      "Enable the link test" ON)
+OPTION(ENABLE_ATSPI          "Enable AT-SPI accessibility" ON)
+OPTION(ENABLE_TRACE          "Enable Trace" OFF)
 
 # Include additional macros
 INCLUDE( common.cmake )
@@ -103,16 +106,22 @@ IF( UNIX )
   INCLUDE( deps-check.cmake )
 ENDIF()
 
+IF( NOT DALI_ELDBUS_AVAILABLE )
+  SET( ENABLE_ATSPI OFF )
+ENDIF()
+
+IF( ENABLE_TRACE )
+  ADD_DEFINITIONS("-DTRACE_ENABLED")
+ENDIF()
+
 # Set up compiler flags and warnings
 IF( UNIX )
-  ADD_COMPILE_OPTIONS( -std=c++17 )                     # c++17 support
   ADD_COMPILE_OPTIONS( -Wall ${DALI_CFLAGS} )# -Wextra -Wno-unused-parameter )# -Wfloat-equal )
 ELSEIF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc.
   ADD_COMPILE_OPTIONS( /FIdali-windows-dependencies.h ) #
   ADD_COMPILE_OPTIONS( /FIextern-definitions.h )        # Adds missing definitions.
   ADD_COMPILE_OPTIONS( /FIpreprocessor-definitions.h )  #
   ADD_COMPILE_OPTIONS( /vmg )                           # Avoids a 'reinterpret_cast' compile error while compiling signals and callbacks.
-  ADD_COMPILE_OPTIONS( /std:c++17 )                     # c++17 support
   ADD_COMPILE_OPTIONS( /wd4251 )                        # Ignores warning C4251: "'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'"
 ENDIF()
 
@@ -136,6 +145,12 @@ INCLUDE( module-list.cmake )
 # Include profile specific setup
 INCLUDE( profiles/${PROFILE_LCASE}-profile.cmake )
 
+IF ( ENABLE_ATSPI )
+  SET( SOURCES ${SOURCES} ${adaptor_accessibility_atspi_bridge_src_files} )
+ELSE()
+  SET( SOURCES ${SOURCES} ${adaptor_accessibility_atspi_dummy_src_files} )
+ENDIF()
+
 IF( ENABLE_PKG_CONFIGURE )
   # Configure the pkg-config file
   # Requires the following variables to be setup:
@@ -154,10 +169,16 @@ IF( WIN32 )
   SET( THIRD_PARTY_WINDOWS_PLATFORM ${ROOT_SRC_DIR}/third-party/windows-platform )
 ENDIF()
 
+SET( THIRD_PARTY_MACOS_PLATFORM "" )
+IF( APPLE )
+  SET( THIRD_PARTY_MACOS_PLATFORM ${ROOT_SRC_DIR}/third-party/macos-platform )
+ENDIF()
+
 INCLUDE_DIRECTORIES(
   ${ROOT_SRC_DIR}
   ${PROFILE_INCLUDE_DIRECTORIES}
   ${THIRD_PARTY_WINDOWS_PLATFORM}
+  ${THIRD_PARTY_MACOS_PLATFORM}
   ${VCPKG_INCLUDE_DIR}
   ${INCLUDE_DIR}
 )
@@ -220,7 +241,7 @@ IF( INSTALL_CMAKE_MODULES )
   install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}-config.cmake DESTINATION share/${name})
 
   # Install the pdb file.
-  IF( ENABLE_DEBUG )
+  IF( ENABLE_DEBUG AND WIN32 )
     install( FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/${name}.pdb DESTINATION ${BIN_DIR} )
   ENDIF()
 ELSE()
@@ -256,6 +277,7 @@ SET( tizenadaptordevelapidir ${INCLUDE_DIR}/dali/devel-api )
 SET( tizenadaptorintegrationapidir ${INCLUDE_DIR}/dali/integration-api/adaptor-framework )
 SET( tizenadaptorframeworkpublicapidir ${tizenadaptorpublicapidir}/adaptor-framework )
 SET( tizenadaptorframeworkdevelapidir ${tizenadaptordevelapidir}/adaptor-framework )
+SET( tizenatspiinterfacesdevelapidir ${tizenadaptordevelapidir}/atspi-interfaces )
 SET( tizentextabstractiondevelapidir ${tizenadaptordevelapidir}/text-abstraction )
 SET( tizenadaptordaliheaderdir ${INCLUDE_DIR}/dali )
 SET( tizenwatchpublicapidir ${tizenadaptorpublicapidir}/watch )
@@ -269,6 +291,7 @@ INSTALL( FILES ${public_api_header_files} DESTINATION ${tizenadaptorpublicapidir
 INSTALL( FILES ${adaptor_integration_api_header_files} DESTINATION ${tizenadaptorintegrationapidir} )
 INSTALL( FILES ${public_api_adaptor_framework_header_files} DESTINATION ${tizenadaptorframeworkpublicapidir} )
 INSTALL( FILES ${devel_api_adaptor_framework_header_files} DESTINATION ${tizenadaptorframeworkdevelapidir} )
+INSTALL( FILES ${devel_api_atspi_interfaces_header_files} DESTINATION ${tizenatspiinterfacesdevelapidir} )
 INSTALL( FILES ${text_abstraction_header_files} DESTINATION ${tizentextabstractiondevelapidir} )
 
 # Install Android framework headers for Android build
@@ -280,7 +303,7 @@ SET( package_doxy_dir ${ADAPTOR_ROOT}/doc )
 INCLUDE( ${ADAPTOR_ROOT}/doc/file.list )
 INSTALL( FILES ${package_doxy_files} DESTINATION ${packagedoxydir} )
 
-IF( NOT UBUNTU_PROFILE AND NOT ANDROID_PROFILE AND NOT WINDOWS_PROFILE )
+IF( NOT UBUNTU_PROFILE AND NOT ANDROID_PROFILE AND NOT WINDOWS_PROFILE AND NOT MACOS_PROFILE )
   INSTALL( FILES ${public_api_adaptor_tizen_header_files} DESTINATION ${tizenadaptorframeworkpublicapidir} )
   IF( NOT WAYLAND )
     INSTALL( FILES ${devel_api_adaptor_tizen_x11_header_files} DESTINATION ${tizenadaptorframeworkdevelapidir} )
@@ -326,7 +349,7 @@ IF( ENABLE_COVERAGE )
     ADD_CUSTOM_TARGET( ${DALI_ADAPTOR_PREFIX}rename_cov_data ./rename-cov-data )
 
     ADD_CUSTOM_TARGET( ${DALI_ADAPTOR_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/*\" -o dali.info )
+      COMMAND ${LCOV_BIN} ${LCOV_OPTS} --remove dali.info \"*/dali-env/*\" \"/usr/include/*\" \"*/third-party/*\" \"/usr/local/include/*\" -o dali.info )
 
     ADD_CUSTOM_TARGET( ${DALI_ADAPTOR_PREFIX}coverage genhtml ${LCOV_OPTS} -o ${COVERAGE_OUTPUT_DIR} dali.info
       DEPENDS cov_data )
@@ -394,17 +417,21 @@ MESSAGE( STATUS "Freetype bitmap support (Emoji):  ${freetype_bitmap_support_ENA
 MESSAGE( STATUS "Profile:                          ${ENABLE_PROFILE}")
 MESSAGE( STATUS "Data Dir (Read/Write):            ${dataReadWriteDir}")
 MESSAGE( STATUS "Data Dir (Read Only):             ${dataReadOnlyDir}")
-MESSAGE( STATUS "EldBus:                           ${eldbus_available_ENABLED}")
 MESSAGE( STATUS "WebP:                             ${webp_available_ENABLED}")
 MESSAGE( STATUS "Shader Binary Cache:              ${ENABLE_SHADERBINCACHE}")
-MESSAGE( STATUS "Network logging enabled:          ${ENABLE_NETWORKLOGGING}")
+MESSAGE( STATUS "Network logging enabled:          ${ENABLE_NETWORK_LOGGING}")
 MESSAGE( STATUS "Font config file:                 ${fontConfigurationFile}")
 MESSAGE( STATUS "Using Tizen APP FW libraries:     ${ENABLE_APPFW}")
 MESSAGE( STATUS "Use pkg configure:                ${ENABLE_PKG_CONFIGURE}" )
 MESSAGE( STATUS "Enable link test:                 ${ENABLE_LINK_TEST}" )
+MESSAGE( STATUS "Enable AT-SPI:                    ${ENABLE_ATSPI}" )
+MESSAGE( STATUS "Enable Trace:                     ${ENABLE_TRACE}" )
 MESSAGE( STATUS "Tizen Platform Config supported   ${TIZEN_PLATFORM_CONFIG_SUPPORTED_LOGMSG}")
 MESSAGE( STATUS "Compile flags:                    ${CMAKE_CXX_FLAGS}")
 MESSAGE( STATUS "Compile flags:                    ${CMAKE_C_FLAGS}")
+MESSAGE( STATUS "CMAKE_SYSROOT:                    ${CMAKE_SYSROOT}")
+MESSAGE( STATUS "CMAKE_SYSTEM_INCLUDE_PATH:        ${CMAKE_SYSTEM_INCLUDE_PATH}")
+MESSAGE( STATUS "CMAKE_SYSTEM_LIBRARY_PATH:        ${CMAKE_SYSTEM_LIBRARY_PATH}")
 IF( enable_feedback )
   ADD_SUBDIRECTORY( plugins )
 ENDIF()