CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(context) INCLUDE(GNUInstallDirs) # Targets SET(target "context") # Source Lists FILE(GLOB_RECURSE SRCS src/*.cpp) MESSAGE("Sources: ${SRCS}") # Dependencies SET(DEPS "libcontext-shared aul bundle capi-appfw-app-control pkgmgr-info") # Common Options INCLUDE(FindPkgConfig) INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/include ) ADD_DEFINITIONS(-O2 -Wall -fPIC -fdata-sections -ffunction-sections -fvisibility=hidden) SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIC -Wl,--as-needed -Wl,--gc-section -Wl,--print-gc-section") # Building Library pkg_check_modules(api_pkg REQUIRED ${DEPS}) FOREACH(flag ${api_pkg_CFLAGS}) SET(API_EXTRA_CFLAGS "${API_EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) ADD_LIBRARY(${target} SHARED ${SRCS}) TARGET_LINK_LIBRARIES(${target} ${api_pkg_LDFLAGS}) SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_FLAGS ${API_EXTRA_CFLAGS}) SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITIONS "LOG_TAG=\"CONTEXT-API\"") SET_TARGET_PROPERTIES(${target} PROPERTIES SOVERSION ${MAJORVER}) SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${FULLVER}) # Installing INSTALL(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR}) INSTALL( DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/context-service 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 Context Framework Native API") SET(PC_REQUIRED ${DEPS}) SET(PC_LDFLAGS -l${target}) SET(PC_CFLAGS -I\${includedir}/context-service) CONFIGURE_FILE( ${PROJECT_NAME}.pc.in ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc @ONLY ) INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ADD_SUBDIRECTORY(testsuite)