X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=build%2Ftizen%2Fdeps-check.cmake;h=a13dc7d99f9d8c2953e3411bfbd07e48292c5dc0;hb=a89af58f954b0f2b846a2f2c611d990ddde8adab;hp=d22ccd806b492ff6246afa1d838f48c49e537cc2;hpb=f66ce7cc909d57952f9cffe6a05f8eab11704169;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/build/tizen/deps-check.cmake b/build/tizen/deps-check.cmake old mode 100644 new mode 100755 index d22ccd8..a13dc7d --- a/build/tizen/deps-check.cmake +++ b/build/tizen/deps-check.cmake @@ -5,7 +5,7 @@ INCLUDE( common.cmake ) ARG_ENABLE( ENABLE_EXPORTALL enable_exportall 1 "Enables the exporting of all the symbols in the library" ) ARG_ENABLE( ENABLE_DEBUG enable_debug ${ENABLE_VAL} "Turns on debugging" ) ARG_ENABLE( ENABLE_SHADERBINCACHE enable_shaderbincache ${ENABLE_VAL} "Enables shader binary cache" ) -ARG_ENABLE( ENABLE_NETWORKLOGGING enable_networklogging ${ENABLE_VAL} "Enables network for debug tool" ) +ARG_ENABLE( ENABLE_NETWORK_LOGGING enable_network_logging ${ENABLE_VAL} "Enables network for debug tool" ) # Currently, dali-adaptor requires appfw on Tizen # and does not require it on Ubuntu. @@ -33,15 +33,16 @@ IF( print_help ) EXIT() ENDIF() -SET( FREETYPE_REQUIRED 9.16.3 ) -SET( FREETYPE_BITMAP_SUPPORT_VERSION 17.1.11 ) - IF( NOT enable_profile ) - SET( enable_profile UBUNTU ) + IF( ANDROID ) + SET( enable_profile ANDROID ) + ELSE() + SET( enable_profile UBUNTU ) + ENDIF() ENDIF() # Test for profile and exit if something wrong -SET( VALID_PROFILES COMMON MOBILE WEARABLE TV IVI UBUNTU) +SET( VALID_PROFILES COMMON MOBILE WEARABLE TV IVI UBUNTU ANDROID WINDOWS MACOS ) LIST( FIND VALID_PROFILES ${enable_profile} RESULT ) IF( RESULT EQUAL -1 ) MESSAGE( FATAL_ERROR "Invalid profile!" ) @@ -50,16 +51,30 @@ ENDIF() # Defines profile specific variable SET( ${enable_profile}_PROFILE 1 ) +# TODO check what version we really need for Android +IF( ANDROID_PROFILE ) + SET( FREETYPE_REQUIRED 6.16.0 ) + SET( FREETYPE_BITMAP_SUPPORT_VERSION 6.16.0 ) +ELSE() + SET( FREETYPE_REQUIRED 9.16.3 ) + SET( FREETYPE_BITMAP_SUPPORT_VERSION 17.1.11 ) +ENDIF() + +SET( ELDBUS_REQUIRED 1.16.0 ) + # checking all possibly used modules (required and optionals) CHECK_MODULE_AND_SET( EXIF exif exif_available ) CHECK_MODULE_AND_SET( FREETYPE freetype2>=${FREETYPE_REQUIRED} freetype_available ) CHECK_MODULE_AND_SET( FREETYPE_BITMAP_SUPPORT freetype2>=${FREETYPE_BITMAP_SUPPORT_VERSION} freetype_bitmap_support) -CHECK_MODULE_AND_SET( FONT_CONFIG fontconfig fontconfig_available ) +CHECK_MODULE_AND_SET( FONTCONFIG fontconfig fontconfig_available ) CHECK_MODULE_AND_SET( PNG libpng [] ) +CHECK_MODULE_AND_SET( WEBP libwebp webp_available ) +CHECK_MODULE_AND_SET( WEBP_DEMUX libwebpdemux [] ) CHECK_MODULE_AND_SET( LIBEXIF libexif [] ) CHECK_MODULE_AND_SET( LIBDRM libdrm [] ) CHECK_MODULE_AND_SET( LIBCURL libcurl [] ) CHECK_MODULE_AND_SET( HARFBUZZ harfbuzz [] ) +CHECK_MODULE_AND_SET( HYPHEN libhyphen [] ) CHECK_MODULE_AND_SET( FRIBIDI fribidi [] ) CHECK_MODULE_AND_SET( CAIRO cairo [] ) CHECK_MODULE_AND_SET( EVAS evas [] ) @@ -67,7 +82,7 @@ CHECK_MODULE_AND_SET( TTRACE ttrace ENABLE_TTRACE ) CHECK_MODULE_AND_SET( ECORE ecore [] ) CHECK_MODULE_AND_SET( ECORE_IPC ecore-ipc [] ) CHECK_MODULE_AND_SET( ECORE_IMF ecore-imf [] ) -CHECK_MODULE_AND_SET( ELDBUS eldbus eldbus_available ) +CHECK_MODULE_AND_SET( ELDBUS eldbus>=${ELDBUS_REQUIRED} eldbus_available ) CHECK_MODULE_AND_SET( TPKP_CURL tpkp-curl tpkp_curl_available ) CHECK_MODULE_AND_SET( UTILX utilX utilx_available ) CHECK_MODULE_AND_SET( OPENGLES20 glesv2 [] ) @@ -80,6 +95,7 @@ CHECK_MODULE_AND_SET( CAPI_SYSTEM_INFO capi-system-info [] ) CHECK_MODULE_AND_SET( CAPI_SYSTEM_SENSOR capi-system-sensor capi_system_sensor_support ) CHECK_MODULE_AND_SET( CAPI_SYSTEM_SYSTEM_SETTINGS capi-system-system-settings [] ) CHECK_MODULE_AND_SET( CAPI_APPFW_APPLICATION capi-appfw-application [] ) +CHECK_MODULE_AND_SET( COMPONENT_BASED_CORE_BASE component-based-core-base [] ) CHECK_MODULE_AND_SET( ELEMENTARY elementary [] ) CHECK_MODULE_AND_SET( BUNDLE bundle [] ) @@ -92,11 +108,26 @@ CHECK_MODULE_AND_SET( CAPI_APPFW_WIDGET_BASE appcore-widget-base [] ) CHECK_MODULE_AND_SET( CAPI_APPFW_COMMON capi-appfw-app-common [] ) CHECK_MODULE_AND_SET( CAPI_APPFW_CONTROL capi-appfw-app-control [] ) -CHECK_MODULE_AND_SET( DALICORE dali-core [] ) +CHECK_MODULE_AND_SET( DALICORE dali2-core [] ) + +CHECK_MODULE_AND_SET( THORVG thorvg thorvg_support ) + +IF( thorvg_support ) + ADD_DEFINITIONS( -DTHORVG_SUPPORT ) +ENDIF() + +IF( ANDROID_PROFILE ) + INCLUDE_DIRECTORIES( ${ANDROID_NDK} ) + INCLUDE_DIRECTORIES( ${ANDROID_NDK}/sources ) + INCLUDE_DIRECTORIES( ${ANDROID_NDK}/sources/android ) + INCLUDE_DIRECTORIES( ${ANDROID_NDK}/sources/android/native_app_glue ) + INCLUDE_DIRECTORIES( ${CMAKE_SYSROOT}/usr ) + INCLUDE_DIRECTORIES( ${CMAKE_SYSROOT}/usr/include/android ) +ENDIF() IF( enable_wayland ) IF( enable_ecore_wayland2 ) - PKG_CHECK_MODULES(WAYLAND ecore-wl2 egl wayland-egl wayland-egl-tizen wayland-client>=1.2.0 xkbcommon libtbm ) + PKG_CHECK_MODULES(WAYLAND ecore-wl2 egl wayland-egl wayland-egl-tizen wayland-client>=1.2.0 input-method-client xkbcommon libtbm ) ELSE() PKG_CHECK_MODULES(WAYLAND ecore-wayland egl wayland-egl wayland-client>=1.2.0 xkbcommon libtbm) ENDIF() @@ -118,8 +149,9 @@ IF( eldbus_available ) ADD_DEFINITIONS( -DDALI_ELDBUS_AVAILABLE ) ENDIF() -IF( tpkp_curl_available ) - ADD_DEFINITIONS( -DTPK_CURL_ENABLED ) +IF( webp_available ) + SET(DALI_WEBP_AVAILABLE 1) + ADD_DEFINITIONS( -DDALI_WEBP_AVAILABLE ) ENDIF() ADD_DEFINITIONS( -DPLATFORM_TIZEN ) @@ -137,7 +169,7 @@ IF( enable_shaderbincache ) ADD_DEFINITIONS( -DSHADERBIN_CACHE_ENABLED ) ENDIF() -IF( enable_networklogging ) +IF( enable_network_logging ) ADD_DEFINITIONS( -DNETWORK_LOGGING_ENABLED ) ENDIF() @@ -173,7 +205,7 @@ ELSE() SET( dataReadWriteDir ${CMAKE_INSTALL_PREFIX}/share/dali/ ) ENDIF() -IF( DEFINED ENV{DALI_DATA_RO_DIR ) +IF( DEFINED ENV{DALI_DATA_RO_DIR} ) SET( dataReadOnlyDir $ENV{DALI_DATA_RO_DIR} ) ELSE() SET( dataReadOnlyDir ${CMAKE_INSTALL_PREFIX}/share/dali/ ) @@ -191,19 +223,24 @@ IF( DEFINED ENV{FONT_CONFIGURATION_FILE} ) SET( fontConfigurationFile $ENV{FONT_CONFIGURATION_FILE} ) ENDIF() -IF( UBUNTU_PROFILE ) +IF( UBUNTU_PROFILE OR MACOS_PROFILE ) SET( cachePath $ENV{HOME} ) ELSE() SET( cachePath /home/owner ) ENDIF() +IF( enable_appfw ) + ADD_DEFINITIONS( -DUSE_APPFW -DCOMPONENT_APPLICATION_SUPPORT) +ENDIF() + ####################################################### ADD_DEFINITIONS( -DDALI_PROFILE_${enable_profile}) SET( DALI_PROFILE_CFLAGS -DDALI_PROFILE_${enable_profile} ) # Platforms with highp shader support can use vector based text -CONDITIONAL( ENABLE_VECTOR_BASED_TEXT_RENDERING UBUNTU_PROFILE ) +ADD_DEFINITIONS( "-DENABLE_VECTOR_BASED_TEXT_RENDERING" ) + CONDITIONAL( WAYLAND enable_wayland ) # set lowercase profile name @@ -219,7 +256,10 @@ SET( DALI_CFLAGS ${FREETYPE_CFLAGS} ${FONTCONFIG_CFLAGS} ${CAIRO_CFLAGS} + ${THORVG_CFLAGS} ${PNG_CFLAGS} + ${WEBP_CFLAGS} + ${WEBP_DEMUX_CFLAGS} ${DLOG_CFLAGS} ${VCONF_CFLAGS} ${EXIF_CFLAGS} @@ -229,38 +269,77 @@ SET( DALI_CFLAGS ${LIBDRM_CFLAGS} ${LIBEXIF_CFLAGS} ${LIBCURL_CFLAGS} - ${TPKP_CURL_CFLAGS} ${UTILX_CFLAGS} -Wall - -DDALI_COMPILATION - -DDALI_ADAPTOR_COMPILATION ) -# Default set of linked librarires -SET( DALI_LDFLAGS - ${DALICORE_LDFLAGS} - ${OPENGLES20_LDFLAGS} - ${FREETYPE_LDFLAGS} - ${FONTCONFIG_LDFLAGS} - ${CAIRO_LDFLAGS} - ${PNG_LDFLAGS} - ${DLOG_LDFLAGS} - ${VCONF_LDFLAGS} - ${EXIF_LDFLAGS} - ${TTS_LDFLAGS} - ${CAPI_SYSTEM_SENSOR_LDFLAGS} - ${LIBDRM_LDFLAGS} - ${LIBEXIF_LDFLAGS} - ${LIBCURL_LDFLAGS} - ${LIBCRYPTO_LDFLAGS} - ${HARFBUZZ_LDFLAGS} - ${TPKP_CURL_LDFLAGS} - ${UTILX_LDFLAGS} - -lgif - -lpthread - -lturbojpeg - -ljpeg -) +IF (NOT APPLE) + # Default set of linked librarires + SET( DALI_LDFLAGS + ${DALICORE_LDFLAGS} + ${OPENGLES20_LDFLAGS} + ${FREETYPE_LDFLAGS} + ${FONTCONFIG_LDFLAGS} + ${CAIRO_LDFLAGS} + ${THORVG_LDFLAGS} + ${PNG_LDFLAGS} + ${WEBP_LDFLAGS} + ${WEBP_DEMUX_LDFLAGS} + ${DLOG_LDFLAGS} + ${VCONF_LDFLAGS} + ${EXIF_LDFLAGS} + ${TTS_LDFLAGS} + ${CAPI_SYSTEM_SENSOR_LDFLAGS} + ${LIBDRM_LDFLAGS} + ${LIBEXIF_LDFLAGS} + ${LIBCURL_LDFLAGS} + ${LIBCRYPTO_LDFLAGS} + ${HARFBUZZ_LDFLAGS} + ${UTILX_LDFLAGS} + -lgif + -lturbojpeg + -ljpeg + ) + +if( NOT ANDROID_PROFILE ) + SET( DALI_LDFLAGS ${DALI_LDFLAGS} + -lhyphen + ) +ENDIF() + +ENDIF() + +# Android includes pthread with android lib +if( NOT ANDROID_PROFILE ) + SET( DALI_LDFLAGS ${DALI_LDFLAGS} + -lpthread + ) +ENDIF() + +# You need to include manually private and Android libs deps in order to link for Android +IF( ANDROID_PROFILE ) + CHECK_MODULE_AND_SET( PIXMAN pixman-1 [] ) + CHECK_MODULE_AND_SET( EXPAT expat [] ) + + SET( DALI_CFLAGS ${DALI_CFLAGS} + ${PIXMAN_CFLAGS} + ${EXPAT_CFLAGS} + ${FRIBIDI_CFLAGS} + ) + + LIST( APPEND DALI_LDFLAGS + ${FRIBIDI_LDFLAGS} + ${FREETYPE_LDFLAGS} + ${PNG_LDFLAGS} + ${PIXMAN_LDFLAGS} + ${EXPAT_LDFLAGS} + z + android + log + EGL + GLESv3 + ) +ENDIF() # EVAS used indicator SET( DALI_CFLAGS ${DALI_CFLAGS} @@ -289,6 +368,8 @@ IF( enable_appfw ) ${CAPI_APPFW_WIDGET_BASE_CFLAGS} ${ECORE_IMF_CFLAGS} ${FRIBIDI_CFLAGS} + ${COMPONENT_BASED_CORE_BASE_CFLAGS} + ${SCREENCONNECTORPROVIDER_CFLAGS} ) SET( DALI_LDFLAGS ${DALI_LDFLAGS} @@ -303,6 +384,8 @@ IF( enable_appfw ) ${CAPI_APPFW_WIDGET_BASE_LDFLAGS} ${ECORE_IMF_LDFLAGS} ${FRIBIDI_LDFLAGS} + ${COMPONENT_BASED_CORE_BASE_LDFLAGS} + ${SCREENCONNECTORPROVIDER_LDFLAGS} ) ELSE() SET( DALI_CFLAGS ${DALI_CFLAGS} @@ -359,11 +442,9 @@ IF( WEARABLE_PROFILE ) SET( DALI_CFLAGS ${DALI_CFLAGS} ${HAPTIC_CFLAGS} ${EFL_ASSIST_CFLAGS} - ${SCREENCONNECTORPROVIDER_CFLAGS} ${APPCORE_WATCH_CFLAGS} ) SET( DALI_LDFLAGS ${DALI_LDFLAGS} - ${SCREENCONNECTORPROVIDER_LDFLAGS} ${APPCORE_WATCH_LDFLAGS} ) ENDIF() @@ -398,22 +479,27 @@ IF( NOT COMMON_PROFILE ) ADD_DEFINITIONS( -DWAYLAND_EXTENSIONS_SUPPORTED ) ENDIF() -SET( daliDefaultThemeDir ${dataReadWriteDir}/theme/ ) +# had to do it here for Android by some reason, even if it is set above already +IF( ANDROID_PROFILE ) + SET( daliReadOnlyDir $ENV{DALI_DATA_RO_DIR} ) + SET( daliReadWriteDir $ENV{DALI_DATA_RW_DIR} ) +ENDIF() +SET( daliDefaultThemeDir ${dataReadWriteDir}/theme/ ) SET( fontPreloadedPath $ENV{FONT_PRELOADED_PATH} ) SET( fontDownloadedPath $ENV{FONT_DOWNLOADED_PATH} ) SET( fontApplicationPath $ENV{FONT_APPLICATION_PATH} ) # Configure paths -ADD_DEFINITIONS( -DDALI_DATA_RW_DIR="\"${daliReadWriteDir}\"" - -DDALI_DATA_RO_DIR="\"${daliReadOnlyDir}\"" - -DDALI_DEFAULT_FONT_CACHE_DIR="\"${daliDefaultFontCacheDir}\"" - -DDALI_USER_FONT_CACHE_DIR="\"${daliUserFontCacheDir}\"" - -DDALI_SHADERBIN_DIR="\"${daliShaderbinCacheDir}\"" - -DDALI_DEFAULT_THEME_DIR="\"${daliDefaultThemeDir}\"" - -DFONT_PRELOADED_PATH="\"${fontPreloadedPath}\"" - -DFONT_DOWNLOADED_PATH="\"${fontDownloadedPath}\"" - -DFONT_APPLICATION_PATH="\"${fontApplicationPath}\"" - -DFONT_CONFIGURATION_FILE="\"${fontConfigurationFile}\"" +ADD_DEFINITIONS( -DDALI_DATA_RW_DIR="${daliReadWriteDir}" + -DDALI_DATA_RO_DIR="${daliReadOnlyDir}" + -DDALI_DEFAULT_FONT_CACHE_DIR="${daliDefaultFontCacheDir}" + -DDALI_USER_FONT_CACHE_DIR="${daliUserFontCacheDir}" + -DDALI_SHADERBIN_DIR="${daliShaderbinCacheDir}" + -DDALI_DEFAULT_THEME_DIR="${daliDefaultThemeDir}" + -DFONT_PRELOADED_PATH="${fontPreloadedPath}" + -DFONT_DOWNLOADED_PATH="${fontDownloadedPath}" + -DFONT_APPLICATION_PATH="${fontApplicationPath}" + -DFONT_CONFIGURATION_FILE="${fontConfigurationFile}" -DTIZEN_PLATFORM_CONFIG_SUPPORTED=${tizenPlatformConfigSupported} )