implement new api for preload-system
[platform/core/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 glib-2.0 dlog vconf sqlite3 db-util libxml-2.0)
21
22 FOREACH(flag ${pkgs_CFLAGS})
23         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
24 ENDFOREACH(flag)
25
26
27 pkg_check_modules(libpkgs REQUIRED glib-2.0 dlog vconf sqlite3 db-util libxml-2.0)
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/pkgmgr-info.c src/pkgmgr-info-internal.c)
49
50
51 SET_TARGET_PROPERTIES(pkgmgr-info PROPERTIES SOVERSION ${VERSION_MAJOR})
52 SET_TARGET_PROPERTIES(pkgmgr-info PROPERTIES VERSION ${VERSION})
53 TARGET_LINK_LIBRARIES(pkgmgr-info pkgmgr_parser ${libpkgs_LDFLAGS})
54
55 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/pkgmgr-info.pc.in ${CMAKE_BINARY_DIR}/pkgmgr-info.pc @ONLY)
56 configure_file(parser_path.conf.in parser_path.conf @ONLY)
57 configure_file(pkgmgr-info.manifest.in pkgmgr-info.manifest @ONLY)
58 configure_file(pkgmgr-parser.manifest.in pkgmgr-parser.manifest @ONLY)
59 configure_file(mdparser_list.txt.in mdparser_list.txt @ONLY)
60
61 INSTALL(TARGETS pkgmgr-info DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
62 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-info.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
63 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/pkgmgr-info.h DESTINATION include)
64 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/parser_path.conf DESTINATION ${PREFIX}/etc/package-manager/)
65 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mdparser_list.txt DESTINATION ${PREFIX}/etc/package-manager/parserlib/metadata)