X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=CMakeLists.txt;h=a35ef8d5fbac43cb14117c71209233542bdbaa13;hb=9d81c18b2d3d419941f74b92b073bb9f958b4d7b;hp=f295aae69e29da35130490f32a8ec279b83969ec;hpb=be6863152ed6d4bf9653a3fb44e98397d874cef6;p=platform%2Fcore%2Fappfw%2Fappcore-widget.git diff --git a/CMakeLists.txt b/CMakeLists.txt index f295aae..a35ef8d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,59 +1,51 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) -PROJECT(appcore-widget C) +CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12) + +PROJECT(appcore-widget) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) -SET(EXEC_PREFIX "\${prefix}") +SET(BINDIR "${CMAKE_INSTALL_PREFIX}/bin") +SET(LIBDIR ${LIB_INSTALL_DIR}) SET(INCLUDEDIR "\${prefix}/include") -SET(VERSION ${FULLVER}) -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) +## Compiler flags +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -Werror") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations") -ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"") +## Linker flags +SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed,--gc-sections -pie") -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden") -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall") -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Werror") -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") +SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/") -SET(CMAKE_SKIP_BUILD_RPATH TRUE) +## Targets +SET(TARGET_WIDGET_BASE "appcore-widget-base") +SET(TARGET_WIDGET_APPLICATION "capi-appfw-widget-application") -################################################################# -# Build appcore-widget Library -# ------------------------------ -SET(APPCORE_WIDGET "capi-appfw-widget-application") +ENABLE_TESTING() +SET(TARGET_WIDGET_APPLICATION_UNIT_TEST "appcore-widget-unit-test") INCLUDE(FindPkgConfig) -pkg_check_modules(pkg_widget REQUIRED - aul - dlog - capi-appfw-app-control - appcore-common - capi-appfw-app-common - vconf - elementary - vconf-internal-keys - widget_service - capi-system-info - ecore-wayland - tizen-remote-surface-client - screen_connector_provider - ) -FOREACH(flag ${pkg_widget_CFLAGS}) - SET(EXTRA_CFLAGS_widget "${EXTRA_CFLAGS_widget} ${flag}") -ENDFOREACH(flag) - -AUX_SOURCE_DIRECTORY(src SOURCES) -ADD_LIBRARY(${APPCORE_WIDGET} SHARED ${SOURCES}) -SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES SOVERSION ${MAJORVER}) -SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES VERSION ${FULLVER}) -SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_widget}) -TARGET_LINK_LIBRARIES(${APPCORE_WIDGET} ${pkg_widget_LDFLAGS} "-ldl -Wl,--no-undefined") - -CONFIGURE_FILE(${APPCORE_WIDGET}.pc.in ${APPCORE_WIDGET}.pc @ONLY) -INSTALL(TARGETS ${APPCORE_WIDGET} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${APPCORE_WIDGET}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) - -INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/appfw/ - FILES_MATCHING - PATTERN "*.h" - ) +INCLUDE(ApplyPkgConfig) + +ADD_DEFINITIONS("-DPROJECT_TAG=\"TIZEN_APPCORE_WIDGET\"") + +## Find all needed packages once +PKG_CHECK_MODULES(APPCORE_COMMON_DEPS REQUIRED app-core-cpp) +PKG_CHECK_MODULES(APPCORE_MULTIWINDOW_DEPS REQUIRED app-core-multi-window-cpp) +PKG_CHECK_MODULES(APPCORE_MULTIWINDOW_OLD_DEPS REQUIRED appcore-multiwindow) +PKG_CHECK_MODULES(AUL_DEP REQUIRED aul) +PKG_CHECK_MODULES(BUNDLE_DEPS REQUIRED bundle) +PKG_CHECK_MODULES(CAPI_APP_COMMON_DEP REQUIRED capi-appfw-app-common) +PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog) +PKG_CHECK_MODULES(ECORE_WL2_DEPS REQUIRED ecore-wl2) +PKG_CHECK_MODULES(ELEMENTARY_DEP REQUIRED elementary) +PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0) +PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock) +PKG_CHECK_MODULES(GOBJECT_DEPS REQUIRED gobject-2.0) +PKG_CHECK_MODULES(SCREEN_CONNECTOR_PROVIDER_DEPS REQUIRED screen_connector_provider) +PKG_CHECK_MODULES(SYSTEM_INFO_DEPS REQUIRED capi-system-info) +PKG_CHECK_MODULES(WIDGET_SERVICE_DEPS REQUIRED widget_service) + +ADD_SUBDIRECTORY(src) +ADD_SUBDIRECTORY(test)