X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=CMakeLists.txt;h=7dc63e6c957b1d938ac4cada54621f727e71f3fb;hb=91853df91bcbe21e3cb71e31e1280566e7c8eadc;hp=d57515e9c433395e9a56df83f6bc442d211258c9;hpb=cf58e4b97a8c72028d7a88649854cb33d7c0400a;p=platform%2Fcore%2Fappfw%2Fappcore-widget.git diff --git a/CMakeLists.txt b/CMakeLists.txt index d57515e..7dc63e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,58 +1,53 @@ -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_MAJOR 1) -SET(VERSION "${VERSION_MAJOR}.1") -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) +## Compiler flags +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -g -Wall -Werror") -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") -SET(SRCS_widget - src/widget-i18n.c - src/widget_app.c - src/widget_error.c - ) -SET(HEADERS_widget widget_app.h widget_app_efl.h widget_app_internal.h) +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 - capi-appfw-app-common - vconf - elementary - vconf-internal-keys - widget_service - capi-system-info - ) -FOREACH(flag ${pkg_widget_CFLAGS}) - SET(EXTRA_CFLAGS_widget "${EXTRA_CFLAGS_widget} ${flag}") -ENDFOREACH(flag) - -ADD_LIBRARY(${APPCORE_WIDGET} SHARED ${SRCS_widget}) -SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES SOVERSION ${VERSION_MAJOR}) -SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES VERSION ${VERSION}) -SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_widget}) -TARGET_LINK_LIBRARIES(${APPCORE_WIDGET} ${pkg_widget_LDFLAGS} "-ldl") - -INSTALL(TARGETS ${APPCORE_WIDGET} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${APPCORE_WIDGET}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) -FOREACH(hfile ${HEADERS_widget}) - INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/${hfile} DESTINATION include/appfw) -ENDFOREACH(hfile) +INCLUDE(ApplyPkgConfig) + +ADD_DEFINITIONS("-DPROJECT_TAG=\"TIZEN_APPCORE_WIDGET\"") + +## Find all needed packages once +PKG_CHECK_MODULES(BUNDLE_DEPS REQUIRED bundle) +PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog) +PKG_CHECK_MODULES(APPCORE_COMMON_DEPS REQUIRED appcore-common) +PKG_CHECK_MODULES(WIDGET_SERVICE_DEPS REQUIRED widget_service) +PKG_CHECK_MODULES(SYSTEM_INFO_DEPS REQUIRED capi-system-info) +PKG_CHECK_MODULES(ECORE_WL2_DEPS REQUIRED ecore-wl2) +PKG_CHECK_MODULES(SCREEN_CONNECTOR_PROVIDER_DEPS REQUIRED screen_connector_provider) +PKG_CHECK_MODULES(APPCORE_MULTIWINDOW_DEPS REQUIRED appcore-multiwindow) +PKG_CHECK_MODULES(AUL_DEP REQUIRED aul) +PKG_CHECK_MODULES(ELEMENTARY_DEP REQUIRED elementary) +PKG_CHECK_MODULES(CAPI_APP_COMMON_DEP REQUIRED capi-appfw-app-common) +PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0) +PKG_CHECK_MODULES(GOBJECT_DEPS REQUIRED gobject-2.0) +PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock) + +ADD_SUBDIRECTORY(src) +ADD_SUBDIRECTORY(test) + + + + + +