9118b5ab6678d603e0ced007c63e0e1c176d5edb
[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
28 pkg_check_modules(libpkgs 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 )
42
43 FOREACH(flag ${libpkgs_CFLAGS})
44         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
45 ENDFOREACH(flag)
46
47 pkg_check_modules(libpkgs_server REQUIRED
48   glib-2.0
49   gio-2.0
50   gio-unix-2.0
51   dlog
52   vconf
53   sqlite3
54   libtzplatform-config
55   libsmack
56   bundle
57   capi-system-info
58   minizip
59   libsystemd
60   parcel
61 )
62
63 FOREACH(flag ${libpkgs_server_CFLAGS})
64         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
65 ENDFOREACH(flag)
66
67 ## Additional flag
68 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
69 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall")
70 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
71
72 ENABLE_TESTING()
73 SET(TARGET_PKGMGR_INFO_UNIT_TEST "pkgmgr-info-unit-test")
74
75 ################## ## build comm libraries
76 ADD_SUBDIRECTORY(parser)
77 ADD_SUBDIRECTORY(tool)
78 ADD_SUBDIRECTORY(plugin_list)
79 ADD_SUBDIRECTORY(src)
80 ADD_SUBDIRECTORY(test)
81
82 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/pkgmgr-info.pc.in ${CMAKE_BINARY_DIR}/pkgmgr-info.pc @ONLY)
83 CONFIGURE_FILE(pkg_db_version.txt.in pkg_db_version.txt @ONLY)
84
85 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-info.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
86 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include)
87 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkg_db_version.txt DESTINATION ${SYSCONFDIR}/package-manager/)