Release version 0.4.19
[platform/core/appfw/data-control.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 PROJECT(data-control C)
4
5 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
6
7 INCLUDE_DIRECTORIES (
8         include
9         )
10
11 SET(requires "dlog bundle glib-2.0 appsvc pkgmgr-info capi-base-common cynara-client sqlite3")
12 INCLUDE(FindPkgConfig)
13 pkg_check_modules(pkgs REQUIRED ${requires})
14
15 FOREACH(flag ${pkgs_CFLAGS})
16     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
17 ENDFOREACH(flag)
18
19 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -fPIC -Werror -fvisibility=hidden")
20 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
21
22 AUX_SOURCE_DIRECTORY(src SOURCES)
23 ADD_LIBRARY (${PROJECT_NAME} SHARED ${SOURCES})
24
25 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
26
27 SET_TARGET_PROPERTIES(${PROJECT_NAME}
28         PROPERTIES
29         VERSION ${FULLVER}
30         SOVERSION ${MAJORVER}
31         CLEAN_DIRECT_OUTPUT 1
32         )
33
34 ADD_CUSTOM_COMMAND(
35         TARGET ${PROJECT_NAME} POST_BUILD
36         COMMAND ln -s libdata-control.so.${MAJORVER} libcapi-data-control.so.1)
37
38 SET(VERSION ${FULLVER})
39 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc @ONLY)
40 CONFIGURE_FILE(${PROJECT_NAME}.conf.in ${PROJECT_NAME}.conf @ONLY)
41
42 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.conf DESTINATION ${SYSCONF_INSTALL_DIR}/dbus-1/session.d/)
43 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
44 CONFIGURE_FILE(capi-${PROJECT_NAME}.pc.in ${CMAKE_SOURCE_DIR}/capi-${PROJECT_NAME}.pc @ONLY)
45 INSTALL(FILES ${CMAKE_SOURCE_DIR}/capi-${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
46
47 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
48 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/appfw FILES_MATCHING PATTERN "*.h")
49 INSTALL(DIRECTORY ./ DESTINATION ${LIB_INSTALL_DIR} FILES_MATCHING PATTERN "*.so*")
50
51 IF(NOT DEFINED MINIMUM_BUILD)
52 ADD_SUBDIRECTORY(tests)
53 ENABLE_TESTING()
54 SET(DATA_CONTROL_UNIT_TESTS data_control_unittests)
55 ADD_TEST(NAME ${DATA_CONTROL_UNIT_TESTS} COMMAND ${DATA_CONTROL_UNIT_TESTS})
56
57 ADD_DEPENDENCIES(${DATA_CONTROL_UNIT_TESTS} data-control)
58 ENDIF(NOT DEFINED MINIMUM_BUILD)