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