apply testing in build time
[platform/core/api/system-settings.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 3.9)
2 PROJECT(capi-system-system-settings)
3
4 INCLUDE(FindPkgConfig)
5 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
6 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/common)
7
8 SET(SETTING_TZONE_SYMLINK_PATH "\"/opt/etc/localtime\"")
9
10 SET(EXTRA_FLAGS "-Wall -Werror -fvisibility=hidden")
11 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_FLAGS}")
12 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_FLAGS} -std=c++11")
13 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
14
15 PKG_CHECK_MODULES(pkgs REQUIRED dlog vconf fontconfig libxml-2.0 pkgmgr pkgmgr-info
16         alarm-service capi-media-metadata-extractor aul json-glib-1.0 capi-appfw-app-manager
17         capi-appfw-package-manager capi-system-info glib-2.0)
18 INCLUDE_DIRECTORIES(${pkgs_INCLUDE_DIRS})
19 LINK_DIRECTORIES(${pkgs_LIBRARY_DIRS})
20
21 ADD_DEFINITIONS("-D_TZ_SYS_DATA=\"${TZ_SYS_DATA}\"")
22 ADD_DEFINITIONS("-D_TZ_SYS_ETC=\"${TZ_SYS_ETC}\"")
23 ADD_DEFINITIONS("-D_TZ_SYS_RO_SHARE=\"${TZ_SYS_RO_SHARE}\"")
24 ADD_DEFINITIONS("-D_TZ_SYS_SHARE=\"${TZ_SYS_SHARE}\"")
25 ADD_DEFINITIONS("-DSETTING_DEF_RES=\"${SETTING_DEF_RES}\"")
26
27 IF(TIZEN_WEARABLE)
28     ADD_DEFINITIONS(-DTIZEN_WEARABLE)
29 ENDIF(TIZEN_WEARABLE)
30 IF(TIZEN_MOBILE)
31     ADD_DEFINITIONS(-DTIZEN_MOBILE)
32 ENDIF(TIZEN_MOBILE)
33
34 FILE(GLOB SRCS src/*.c)
35 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
36 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LIBRARIES})
37 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${FULLVER} SOVERSION ${MAJORVER})
38
39 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
40 FILE(GLOB HEADERS include/*.h)
41 INSTALL(FILES ${HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/system)
42
43 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
44 INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
45
46 ADD_SUBDIRECTORY(utils)
47 ADD_SUBDIRECTORY(tests)