Add to check Privilege
[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 ### Local include directories
13 INCLUDE_DIRECTORIES(
14   ${CMAKE_SOURCE_DIR}/include
15   ${CMAKE_SOURCE_DIR}/parser/include
16   ${CMAKE_SOURCE_DIR}/src
17   ${CMAKE_SOURCE_DIR}/src/common
18   ${CMAKE_SOURCE_DIR}/src/common/socket
19   ${CMAKE_SOURCE_DIR}/src/common/parcel
20   ${CMAKE_SOURCE_DIR}/src/server
21   ${CMAKE_SOURCE_DIR}/src/server/database
22   ${CMAKE_SOURCE_DIR}/src/server/request_handler
23 )
24
25 ### Required packages
26 INCLUDE(FindPkgConfig)
27 pkg_check_modules(pkgs REQUIRED
28         glib-2.0
29         gio-2.0
30         gio-unix-2.0
31         dlog
32         vconf
33         sqlite3
34         libxml-2.0
35         libtzplatform-config
36         libsmack
37         bundle
38         cynara-client
39         cynara-session
40         cynara-creds-socket
41 )
42 FOREACH(flag ${pkgs_CFLAGS})
43         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
44 ENDFOREACH(flag)
45
46 pkg_check_modules(libpkgs REQUIRED
47         glib-2.0
48         gio-2.0
49         gio-unix-2.0
50         dlog
51         vconf
52         sqlite3
53         libtzplatform-config
54         libsmack
55         bundle
56         capi-system-info
57         minizip
58         libsystemd
59         parcel
60         cynara-client-async
61         cynara-session
62         cynara-creds-socket
63 )
64
65 FOREACH(flag ${libpkgs_CFLAGS})
66         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
67 ENDFOREACH(flag)
68
69 ## Additional flag
70 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
71 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall")
72 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
73
74 # Linker flags
75 SET(EXTRA_LINKER_FLAGS "-Wl,--as-needed")
76 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_LINKER_FLAGS}")
77
78 ENABLE_TESTING()
79 SET(TARGET_PKGMGR_INFO_UNIT_TEST "pkgmgr-info-unit-test")
80
81 ################## ## build comm libraries
82 ADD_SUBDIRECTORY(parser)
83 ADD_SUBDIRECTORY(tool)
84 ADD_SUBDIRECTORY(plugin_list)
85 ADD_SUBDIRECTORY(src)
86 ADD_SUBDIRECTORY(test)
87
88 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/pkgmgr-info.pc.in ${CMAKE_BINARY_DIR}/pkgmgr-info.pc @ONLY)
89 CONFIGURE_FILE(pkg_db_version.txt.in pkg_db_version.txt @ONLY)
90
91 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-info.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
92 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include)
93 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkg_db_version.txt DESTINATION ${SYSCONFDIR}/package-manager/)