Add missing dependency
[platform/core/appfw/pkgmgr-info.git] / parser / CMakeLists.txt
1 ### Description
2 # Communication modules for pkg-mgr client lib and server process
3 # By Youmin Ha <youmin.ha@samsung.com>
4
5 cmake_minimum_required(VERSION 2.6)
6 #set(CMAKE_SKIP_BUILD_RPATH true)
7 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
8
9 INCLUDE(TizenCommon)
10
11 ### Versioning
12 if(DEFINED ${VERSION})
13         message("VERSION: ${VERSION}")
14 else()
15         message("VERSION is not defined. set it as 0.1.0")
16         set(VERSION 0.1.0)
17 endif()
18 if(DEFINED ${VERSION_MAJOR})
19         message("VERSION_MAJOR: ${VERSION_MAJOR}")
20 else()
21         message( "VERSION_MAJOR is not defined. set it as 0")
22         set(VERSION_MAJOR 0)
23 endif()
24 message(STATUS "version/major : ${VERSION} / ${VERSION_MAJOR}")
25
26 ### Define tizen version for db version
27 if(DEFINED TIZEN_MAJOR_VER)
28         ADD_DEFINITIONS("-DTIZEN_MAJOR_VER=\"${TIZEN_MAJOR_VER}\"")
29 else()
30         message("TIZEN_MAJOR_VER is not defined. set it to 0")
31         ADD_DEFINITIONS("-DTIZEN_MAJOR_VER=\"0\"")
32 endif()
33
34 if(DEFINED TIZEN_MINOR_VER)
35         ADD_DEFINITIONS("-DTIZEN_MINOR_VER=\"${TIZEN_MINOR_VER}\"")
36 else()
37         message("TIZEN_MINOR_VER is not defined. set it to 0")
38         ADD_DEFINITIONS("-DTIZEN_MINOR_VER=\"0\"")
39 endif()
40
41 if(DEFINED TIZEN_PATCH_VER)
42         ADD_DEFINITIONS("-DTIZEN_PATCH_VER=\"${TIZEN_PATCH_VER}\"")
43 else()
44         message("TIZEN_PATCH_VER is not defined. set it to 0")
45         ADD_DEFINITIONS("-DTIZEN_PATCH_VER=\"${TIZEN_PATCH_VER}\"")
46 endif()
47
48 ### Get required CFLAGS, LDFLAGS from pkg-config
49
50 include(FindPkgConfig)
51 pkg_check_modules(parser_pkgs REQUIRED dlog libxml-2.0 glib-2.0 sqlite3 db-util vconf bundle capi-system-info libsmack)
52
53 foreach(flag ${parser_pkgs_CFLAGS})
54         set(parser_pkgs_CFLAGS_str "${parser_pkgs_CFLAGS_str} ${flag}")
55 endforeach()
56 ADD_DEFINITIONS("-DLIB_PATH=\"${LIB_INSTALL_DIR}\"")
57 ## Additional flag
58 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
59 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -Wno-deprecated-declarations")
60 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
61
62 add_definitions("-DSYSCONFDIR=\"${SYSCONFDIR}\"")
63 ### Set current binary dir to be included (for generated *.h files)
64 include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
65
66 ### Build modules
67
68 ## pkgmgr_parser object (by sewook.park)
69 # This library is for installer backend
70 add_library(pkgmgr_parser SHARED pkgmgr_parser.c pkgmgr_parser_db.c)
71 #add_library(pkgmgr_parser SHARED pkgmgr_parser.c)
72 set_target_properties(pkgmgr_parser PROPERTIES SOVERSION ${VERSION_MAJOR})
73 set_target_properties(pkgmgr_parser PROPERTIES VERSION ${VERSION})
74 set_target_properties(pkgmgr_parser PROPERTIES COMPILE_FLAGS "${parser_pkgs_CFLAGS_str}")
75 target_link_libraries(pkgmgr_parser ${parser_pkgs_LDFLAGS})
76
77 ### Create pc file
78 configure_file(pkgmgr-parser.pc.in ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-parser.pc @ONLY)
79 configure_file(manifest.xsd.in manifest.xsd @ONLY)
80 configure_file(xml.xsd.in xml.xsd @ONLY)
81
82 ## Install
83 INSTALL(TARGETS
84                         pkgmgr_parser
85                 DESTINATION ${LIB_INSTALL_DIR}
86                 COMPONENT RuntimeLibraries)
87 INSTALL(FILES
88                         pkgmgr_parser.h
89                 DESTINATION include/pkgmgr)
90 INSTALL(FILES
91                         pkgmgr_parser_db.h
92                 DESTINATION include/pkgmgr)
93 INSTALL(FILES
94                 ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-parser.pc
95                 DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
96
97 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.xsd DESTINATION ${SYSCONFDIR}/package-manager/preload/)
98 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/xml.xsd DESTINATION ${SYSCONFDIR}/package-manager/preload/)