ab7f4e3d2946803e38310985fad07a0252ba0c52
[platform/core/appfw/pkgmgr-info.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 PROJECT(pkgmgr-info)
4
5 INCLUDE(TizenCommon)
6
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8 SET(EXEC_PREFIX "\${prefix}")
9 SET(INCLUDEDIR "\${prefix}/include")
10 SET(CMAKE_SKIP_BUILD_RPATH true)
11
12 ADD_DEFINITIONS("-DLIB_PATH=\"${LIB_INSTALL_DIR}\"")
13
14 ### Local include directories
15 INCLUDE_DIRECTORIES(
16   ${CMAKE_SOURCE_DIR}/include
17   ${CMAKE_SOURCE_DIR}/parser/include
18   ${CMAKE_SOURCE_DIR}/src
19   ${CMAKE_SOURCE_DIR}/src/common
20   ${CMAKE_SOURCE_DIR}/src/common/socket
21   ${CMAKE_SOURCE_DIR}/src/common/parcel
22   ${CMAKE_SOURCE_DIR}/src/server
23   ${CMAKE_SOURCE_DIR}/src/server/cynara_checker
24   ${CMAKE_SOURCE_DIR}/src/server/filter_checker
25   ${CMAKE_SOURCE_DIR}/src/server/database
26   ${CMAKE_SOURCE_DIR}/src/server/request_handler
27 )
28
29 ### Required packages
30 INCLUDE(FindPkgConfig)
31
32 pkg_check_modules(libpkgs REQUIRED
33   glib-2.0
34   gio-2.0
35   gio-unix-2.0
36   dlog
37   vconf
38   libtzplatform-config
39   libsmack
40   bundle
41   capi-system-info
42   minizip
43   libsystemd
44   parcel
45   cynara-client-async
46   cynara-session
47   cynara-creds-socket
48   capi-system-resource
49 )
50
51 FOREACH(flag ${libpkgs_CFLAGS})
52         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
53 ENDFOREACH(flag)
54
55 pkg_check_modules(libpkgs_server REQUIRED
56   glib-2.0
57   gio-2.0
58   gio-unix-2.0
59   dlog
60   vconf
61   sqlite3
62   libtzplatform-config
63   libsmack
64   bundle
65   capi-system-info
66   minizip
67   libsystemd
68   parcel
69   cynara-client-async
70   cynara-session
71   cynara-creds-socket
72   capi-system-resource
73 )
74
75 FOREACH(flag ${libpkgs_server_CFLAGS})
76         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
77 ENDFOREACH(flag)
78
79 ## Additional flag
80 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
81 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall")
82 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
83
84 # Linker flags
85 SET(EXTRA_LINKER_FLAGS "-Wl,--as-needed")
86 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_LINKER_FLAGS}")
87
88 IF(NOT ASAN_ENABLED)
89   ENABLE_TESTING()
90   SET(TARGET_PKGMGR_INFO_UNIT_TEST "pkgmgr-info-unit-test")
91 ENDIF(NOT ASAN_ENABLED)
92
93 ################## ## build comm libraries
94 ADD_SUBDIRECTORY(parser)
95 ADD_SUBDIRECTORY(tool)
96 ADD_SUBDIRECTORY(plugin_list)
97 ADD_SUBDIRECTORY(src)
98 IF(NOT ASAN_ENABLED)
99   ADD_SUBDIRECTORY(test)
100 ENDIF(NOT ASAN_ENABLED)
101
102 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/pkgmgr-info.pc.in ${CMAKE_BINARY_DIR}/pkgmgr-info.pc @ONLY)
103 CONFIGURE_FILE(pkg_db_version.txt.in pkg_db_version.txt @ONLY)
104
105 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-info.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
106 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include)
107 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkg_db_version.txt DESTINATION ${SYSCONFDIR}/package-manager/)