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