[Tizen] Add DALi Autofill implementation
[platform/core/uifw/dali-adaptor.git] / build / tizen / CMakeLists.txt
index 99b79aa..e56f9db 100644 (file)
@@ -1,13 +1,21 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 CMAKE_POLICY(SET CMP0012 NEW) # Prevent dereferencing of OFF/ON as variables
 
-set(CMAKE_CXX_STANDARD 11)
+SET(CMAKE_CXX_STANDARD 11)
+SET(CMAKE_C_STANDARD 99)
 
 PROJECT(${name} CXX)
 SET(PKG_NAME ${name})
 
 SET(name "dali-adaptor")
 
+SET(GCC_COMPILER_VERSION_REQUIRED "6")
+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+  if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS GCC_COMPILER_VERSION_REQUIRED)
+    message(FATAL_ERROR "The GCC required compiler version is " ${GCC_COMPILER_VERSION_REQUIRED})
+  endif()
+endif()
+
 # Include additional macros
 INCLUDE( common.cmake )
 
@@ -36,7 +44,7 @@ SET(${name}_VERSION ${${name}_VERSION_MAJOR}.${${name}_VERSION_MINOR}.${${name}_
 
 SET(DALI_ADAPTOR_VERSION ${${name}_VERSION} )
 
-ADD_DEFINITIONS(-DPLATFORM_TIZEN -DDALI_COMPILATION)
+ADD_DEFINITIONS(-DPLATFORM_TIZEN)
 ADD_DEFINITIONS(-DPIC -DSTDC_HEADERS)
 
 IF("${ARCH}" STREQUAL "arm")
@@ -80,8 +88,6 @@ INCLUDE( deps-check.cmake )
 ADD_COMPILE_OPTIONS( -Wall ${DALI_CFLAGS} )# -Wextra -Wno-unused-parameter )# -Wfloat-equal )
 
 ADD_DEFINITIONS( -DNON_POWER_OF_TWO_TEXTURES
-                 -DDALI_COMPILATION
-                 -DDALI_ADAPTOR_COMPILATION
                  ${DEFINITIONS} )
 
 # from root/build/tizen, get back to root
@@ -124,9 +130,9 @@ ENDIF()
 ADD_LIBRARY( ${name} ${LIBTYPE} ${SOURCES} )
 
 # pthread required due to gcc issue
-FIND_LIBRARY(PTHREAD pthread)
-IF(PTHREAD)
-  SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} -lpthread)
+FIND_LIBRARY( PTHREAD pthread )
+IF( PTHREAD AND NOT ANDROID_PROFILE )
+  SET( OPTIONAL_LIBS ${OPTIONAL_LIBS} -lpthread )
 ENDIF()
 
 TARGET_LINK_LIBRARIES( ${name}
@@ -169,7 +175,7 @@ ENDMACRO(INSTALL_HEADERS_WITH_DIRECTORY)
 # the automake counterpart.
 SET( tizenadaptorpublicapidir ${INCLUDE_DIR}/dali/public-api )
 SET( tizenadaptordevelapidir ${INCLUDE_DIR}/dali/devel-api )
-SET( tizenadaptorintegrationapidir ${INCLUDE_DIR}/dali/integration-api/adaptors )
+SET( tizenadaptorintegrationapidir ${INCLUDE_DIR}/dali/integration-api/adaptor-framework )
 SET( tizenadaptorframeworkpublicapidir ${tizenadaptorpublicapidir}/adaptor-framework )
 SET( tizenadaptorframeworkdevelapidir ${tizenadaptordevelapidir}/adaptor-framework )
 SET( tizentextabstractiondevelapidir ${tizenadaptordevelapidir}/text-abstraction )
@@ -177,6 +183,9 @@ SET( tizenadaptordaliheaderdir ${INCLUDE_DIR}/dali )
 SET( tizenwatchpublicapidir ${tizenadaptorpublicapidir}/watch )
 SET( tizencapturepublicapidir ${tizenadaptorpublicapidir}/capture )
 
+# Android framework headers for Android build
+SET( androidadaptorintegrationapidir ${INCLUDE_DIR}/dali/integration-api/adaptor-framework/android )
+
 # Install headers
 INSTALL( FILES ${public_api_header_files} DESTINATION ${tizenadaptorpublicapidir} )
 INSTALL( FILES ${adaptor_integration_api_header_files} DESTINATION ${tizenadaptorintegrationapidir} )
@@ -184,13 +193,16 @@ INSTALL( FILES ${public_api_adaptor_framework_header_files} DESTINATION ${tizena
 INSTALL( FILES ${devel_api_adaptor_framework_header_files} DESTINATION ${tizenadaptorframeworkdevelapidir} )
 INSTALL( FILES ${text_abstraction_header_files} DESTINATION ${tizentextabstractiondevelapidir} )
 
+# Install Android framework headers for Android build
+INSTALL( FILES ${adaptor_integration_api_android_header_files} DESTINATION ${androidadaptorintegrationapidir} )
+
 # Install DOXY
 SET( packagedoxydir ${INCLUDE_DIR}/dali/doc )
 SET( package_doxy_dir ${ADAPTOR_ROOT}/doc )
 INCLUDE( ${ADAPTOR_ROOT}/doc/file.list )
 INSTALL( FILES ${package_doxy_files} DESTINATION ${packagedoxydir} )
 
-IF( NOT UBUNTU_PROFILE )
+IF( NOT UBUNTU_PROFILE AND NOT ANDROID_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} )
@@ -202,14 +214,14 @@ INSTALL( FILES ${adaptor_dali_wearable_header_file} DESTINATION ${tizenadaptorpu
 INSTALL( FILES ${public_dali_watch_header_files} DESTINATION ${tizenwatchpublicapidir} )
 INSTALL( FILES ${public_dali_capture_header_files} DESTINATION ${tizencapturepublicapidir} )
 
-SET( daliShaderbinCacheDir ${CMAKE_BINARY_DIR}/${dataReadOnlyDir}/core/shaderbin/)
+IF( ANDROID_PROFILE )
+  SET( daliShaderbinCacheDir ${CMAKE_INSTALL_PREFIX}/core/shaderbin/)
+  INSTALL( DIRECTORY DESTINATION ${daliShaderbinCacheDir} )
+ELSE()
+  SET( daliShaderbinCacheDir ${CMAKE_BINARY_DIR}/${dataReadOnlyDir}/core/shaderbin/)
+  INSTALL( DIRECTORY DESTINATION ${dataReadOnlyDir}/core/shaderbin )
+ENDIF()
 
-#INSTALL( CODE "MESSAGE(\"INSTALLING $ENV{RPM_BUILD_ROOT}/${dataReadOnlyDir}/core/shaderbin/\")")
-#INSTALL( CODE "EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E make_directory $ENV{RPM_BUILD_ROOT}/${dataReadOnlyDir}/core/shaderbin/ )")
-#INSTALL( CODE "MESSAGE(\"INSTALLING ${dataReadOnlyDir}/core/shaderbin/\")")
-#INSTALL( CODE "EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E make_directory ${dataReadOnlyDir}/core/shaderbin/ )")
-#INSTALL( DIRECTORY ${ADAPTOR_ROOT}/adaptors/scripts/dalireslog.sh DESTINATION ${CMAKE_INSTALL_PREFIX}/bin )
-INSTALL( DIRECTORY DESTINATION ${dataReadOnlyDir}/core/shaderbin )
 INSTALL( FILES ${ADAPTOR_ROOT}/adaptors/scripts/dalireslog.sh DESTINATION ${CMAKE_INSTALL_PREFIX}/bin )
 
 ########################################################################################
@@ -217,7 +229,7 @@ INSTALL( FILES ${ADAPTOR_ROOT}/adaptors/scripts/dalireslog.sh DESTINATION ${CMAK
 # The DALI_ADAPTOR_PREFIX must be set if this CMakeLists.txt is executed
 # from the top-level CMake script using ADD_SUBDIRECTORY() to avoid
 # target names duplication with other DALi modules.
-IF( UNIX )
+IF( UNIX AND NOT ANDROID )
   FIND_PROGRAM( LCOV_BIN "lcov" )
   IF( LCOV_BIN )
 
@@ -277,7 +289,7 @@ IF( UNIX )
           )
 
   ENDIF( LCOV_BIN )
-ENDIF( UNIX )
+ENDIF( UNIX AND NOT ANDROID )
 
 # Linker Test
 SET( DALI_TEST_SUITE_DIR ${ROOT_SRC_DIR}/automated-tests/src/dali/dali-test-suite-utils )
@@ -287,9 +299,8 @@ SET( LINKER_TEST_SOURCES
 )
 ADD_EXECUTABLE( ${LINKER_TEST_NAME} ${LINKER_TEST_SOURCES} )
 MESSAGE(STATUS "libs: ${DALICORE_LDFLAGS}")
-TARGET_COMPILE_OPTIONS( ${LINKER_TEST_NAME} PRIVATE -DDALI_ADAPTOR_COMPILATION -I${ROOT_SRC_DIR} ${DALICORE_CFLAGS} )
-TARGET_COMPILE_DEFINITIONS(${LINKER_TEST_NAME} PUBLIC -DDALI_ADAPTOR_COMPILATION )
-TARGET_LINK_LIBRARIES(${LINKER_TEST_NAME} ${name} ${DALICORE_LDFLAGS} ${VCONF_LDFLAGS} ${HARFBUZZ_LDFLAGS} )
+TARGET_COMPILE_OPTIONS( ${LINKER_TEST_NAME} PRIVATE -I${ROOT_SRC_DIR} ${DALICORE_CFLAGS} )
+TARGET_LINK_LIBRARIES(${LINKER_TEST_NAME} ${name} ${DALICORE_LDFLAGS} ${VCONF_LDFLAGS} ${HARFBUZZ_LDFLAGS} ${AUTOFILL_LDFLAGS} )
 TARGET_INCLUDE_DIRECTORIES( ${LINKER_TEST_NAME} PRIVATE ${DALI_TEST_SUITE_DIR} )
 
 # Configuration Messages
@@ -305,9 +316,8 @@ MESSAGE( STATUS "Data Dir (Read/Write):            ${dataReadWriteDir}")
 MESSAGE( STATUS "Data Dir (Read Only):             ${dataReadOnlyDir}")
 MESSAGE( STATUS "EldBus:                           ${eldbus_available_ENABLED}")
 MESSAGE( STATUS "Shader Binary Cache:              ${ENABLE_SHADERBINCACHE}")
-MESSAGE( STATUS "Ecore Version At Least 1.13.0     ${ecore_imf_1_13_ENABLED}")
 MESSAGE( STATUS "Network logging enabled:          ${ENABLE_NETWORKLOGGING}")
-MESSAGE( STATUS "Font config file:                 \"${fontConfigurationFile}\"")
+MESSAGE( STATUS "Font config file:                 ${fontConfigurationFile}")
 MESSAGE( STATUS "Using Tizen APP FW libraries:     ${ENABLE_APPFW}")
 MESSAGE( STATUS "Tizen Platform Config supported   ${TIZEN_PLATFORM_CONFIG_SUPPORTED_LOGMSG}")
 MESSAGE( STATUS "Compile flags:                    ${CMAKE_CXX_FLAGS}")