CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(place-context-provider) INCLUDE(GNUInstallDirs) # Targets SET(target_provider "ctx-place-provider") # Source Lists FILE(GLOB SRCS src/*.cpp) # Dependencies SET(provider_deps "context-common") # Dependencies regarding profiles IF("${PROFILE}" STREQUAL "mobile") ADD_DEFINITIONS("-D_MOBILE_") FILE(GLOB SRCS ${SRCS} src/geofence/*.cpp) SET(provider_deps "${provider_deps} capi-geofence-manager") ENDIF("${PROFILE}" STREQUAL "mobile") IF("${PROFILE}" STREQUAL "wearable") ADD_DEFINITIONS("-D_WEARABLE_") ENDIF("${PROFILE}" STREQUAL "wearable") MESSAGE("Sources: ${SRCS}") # Common Options INCLUDE(FindPkgConfig) INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/src/shared ) ADD_DEFINITIONS(-g -O2 -Wall -fPIC -fvisibility=hidden -Wl,--as-needed) # Build pkg_check_modules(provider_pkg REQUIRED ${provider_deps}) FOREACH(flag ${provider_pkg_CFLAGS}) SET(PROVIDER_EXTRA_CFLAGS "${PROVIDER_EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) ADD_LIBRARY(${target_provider} SHARED ${SRCS}) TARGET_LINK_LIBRARIES(${target_provider} ${provider_pkg_LDFLAGS}) SET_TARGET_PROPERTIES(${target_provider} PROPERTIES COMPILE_FLAGS ${PROVIDER_EXTRA_CFLAGS}) SET_TARGET_PROPERTIES(${target_provider} PROPERTIES COMPILE_DEFINITIONS "LOG_TAG=\"CONTEXT-PLACE\"") SET_TARGET_PROPERTIES(${target_provider} PROPERTIES SOVERSION ${MAJORVER}) SET_TARGET_PROPERTIES(${target_provider} PROPERTIES VERSION ${FULLVER}) # Installing INSTALL(TARGETS ${target_provider} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries) INSTALL( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/context-service/internal FILES_MATCHING PATTERN "*.h" ) SET(VERSION ${FULLVER}) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(PC_NAME ${PROJECT_NAME}) SET(PC_INCLUDE "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/context-service") SET(PC_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") SET(PC_DESCRIPTION "Tizen Place Context Provider") SET(PC_REQUIRED ${provider_deps}) SET(PC_LDFLAGS -l${target_provider}) SET(PC_CFLAGS -I\${includedir}/context-service) CONFIGURE_FILE( ${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc @ONLY ) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)