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