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