fbc53a7fe6ccac1ad093cf3977e15bdf09a96a6e
[framework/appfw/pkgmgr-info.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 #SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
3
4 PROJECT(pkgmgr-info C)
5
6 SET(VERSION 0.0.17)
7 SET(VERSION_MAJOR 0)
8
9 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
10 SET(EXEC_PREFIX "\${prefix}")
11 SET(INCLUDEDIR "\${prefix}/include")
12
13 set(CMAKE_SKIP_BUILD_RPATH true)
14
15 ### Local include directories
16 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/parser)
17
18 ### Required packages
19 INCLUDE(FindPkgConfig)
20 pkg_check_modules(pkgs REQUIRED openssl glib-2.0 dlog vconf sqlite3 db-util libxml-2.0 dbus-1 dbus-glib-1 journal)
21
22 FOREACH(flag ${pkgs_CFLAGS})
23         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
24 ENDFOREACH(flag)
25
26
27 pkg_check_modules(libpkgs REQUIRED openssl glib-2.0 dlog vconf sqlite3 db-util libxml-2.0 dbus-1 dbus-glib-1 journal)
28
29 FOREACH(flag ${libpkgs_CFLAGS})
30         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
31 ENDFOREACH(flag)
32
33
34 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
35
36 ## About debug
37 SET(debug_type "-DPM_CONSOLE_USE")              # for debug - use console window
38
39 ## Additional flag
40 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
41 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall")
42 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
43
44 ################## ## build comm libraries
45 add_subdirectory(parser)
46
47 ## build pkgmgr-info library
48 add_library(pkgmgr-info SHARED  src/pkgmgrinfo_client.c src/pkgmgrinfo_db.c src/pkgmgrinfo_certinfo.c
49                                                                 src/pkgmgrinfo_appinfo.c src/pkgmgrinfo_pkginfo.c
50                                                                 src/pkgmgrinfo_private.c
51                                                                 src/pkgmgrinfo_basic.c
52                                                                 src/pkgmgrinfo_feature.c
53                                                                 )
54
55
56 SET_TARGET_PROPERTIES(pkgmgr-info PROPERTIES SOVERSION ${VERSION_MAJOR})
57 SET_TARGET_PROPERTIES(pkgmgr-info PROPERTIES VERSION ${VERSION})
58 TARGET_LINK_LIBRARIES(pkgmgr-info pkgmgr_parser ${libpkgs_LDFLAGS})
59
60 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/pkgmgr-info.pc.in ${CMAKE_BINARY_DIR}/pkgmgr-info.pc @ONLY)
61 configure_file(parser_path.conf.in parser_path.conf @ONLY)
62 configure_file(pkgmgr-info.manifest.in pkgmgr-info.manifest @ONLY)
63 configure_file(pkgmgr-parser.manifest.in pkgmgr-parser.manifest @ONLY)
64 configure_file(dump_pkgmgr.sh.in dump_pkgmgr.sh @ONLY)
65
66 INSTALL(TARGETS pkgmgr-info DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
67 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-info.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
68 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/pkgmgr-info.h DESTINATION include)
69 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/pkgmgrinfo_basic.h DESTINATION include)
70 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/pkgmgrinfo_feature.h DESTINATION include)
71 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/pkgmgrinfo_type.h DESTINATION include)
72 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/parser_path.conf DESTINATION ${PREFIX}/etc/package-manager/)
73 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dump_pkgmgr.sh DESTINATION /opt/etc/dump.d/module.d/)
74