1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(context-provider)
3 INCLUDE(GNUInstallDirs)
4 SET(target "context-provider")
5 SET(compile_defs "LOG_TAG=\"CONTEXT\"")
9 ${CMAKE_CURRENT_SOURCE_DIR}/include
11 ADD_DEFINITIONS(-O2 -Wall -fPIC -fdata-sections -ffunction-sections -fvisibility=hidden)
12 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIC -Wl,--as-needed -Wl,--gc-section -Wl,--print-gc-section")
15 SET(dependencies libcontext-server)
18 IF("${PROFILE}" STREQUAL "mobile")
19 ADD_DEFINITIONS("-D_MOBILE_")
20 ENDIF("${PROFILE}" STREQUAL "mobile")
22 IF("${PROFILE}" STREQUAL "wearable")
23 ADD_DEFINITIONS("-D_WEARABLE_")
24 ENDIF("${PROFILE}" STREQUAL "wearable")
26 IF("${PROFILE}" STREQUAL "tv")
27 ADD_DEFINITIONS("-D_TV_")
28 ENDIF("${PROFILE}" STREQUAL "tv")
32 MESSAGE("Compile definitions: ${compile_defs}")
35 INCLUDE(FindPkgConfig)
36 PKG_CHECK_MODULES(DEPS REQUIRED ${dependencies})
38 FOREACH(flag ${DEPS_CFLAGS})
39 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
42 ADD_LIBRARY(${target} STATIC ${sources})
43 TARGET_LINK_LIBRARIES(${target} ${DEPS_LDFLAGS})
44 SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
45 SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITIONS "${compile_defs}")
46 SET_TARGET_PROPERTIES(${target} PROPERTIES SOVERSION ${MAJORVER})
47 SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${FULLVER})
50 FOREACH(item IN LISTS dependencies)
51 SET(deps_str "${deps_str} ${item}")
54 SET(VERSION ${FULLVER})
55 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
56 SET(PC_NAME ${PROJECT_NAME})
57 SET(PC_DESCRIPTION "Tizen Context Framework Context Provider")
58 SET(PC_INCLUDE "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/context-service")
59 SET(PC_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
60 SET(PC_CFLAGS "-I\${includedir}/context-service")
61 SET(PC_LDFLAGS "-l${target}")
62 SET(PC_REQUIRED "${deps_str}")
66 ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc
72 DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
73 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/context-service/internal
74 FILES_MATCHING PATTERN "*.h"
76 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
77 INSTALL(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries)