2 # Communication modules for pkg-mgr client lib and server process
3 # By Youmin Ha <youmin.ha@samsung.com>
5 cmake_minimum_required(VERSION 2.6)
6 #set(CMAKE_SKIP_BUILD_RPATH true)
7 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
11 if(DEFINED ${VERSION})
12 message("VERSION: ${VERSION}")
14 message("VERSION is not defined. set it as 0.1.0")
17 if(DEFINED ${VERSION_MAJOR})
18 message("VERSION_MAJOR: ${VERSION_MAJOR}")
20 message( "VERSION_MAJOR is not defined. set it as 0")
23 message(STATUS "version/major : ${VERSION} / ${VERSION_MAJOR}")
25 ### Get required CFLAGS, LDFLAGS from pkg-config
27 include(FindPkgConfig)
28 pkg_check_modules(parser_pkgs REQUIRED dlog libxml-2.0 glib-2.0 sqlite3 db-util vconf)
30 foreach(flag ${parser_pkgs_CFLAGS})
31 set(parser_pkgs_CFLAGS_str "${parser_pkgs_CFLAGS_str} ${flag}")
33 ADD_DEFINITIONS("-DLIB_PATH=\"${LIB_INSTALL_DIR}\"")
35 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
36 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall")
37 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
39 ### Set current binary dir to be included (for generated *.h files)
40 include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
44 ## pkgmgr_parser object (by sewook.park)
45 # This library is for installer backend
46 add_library(pkgmgr_parser SHARED pkgmgr_parser.c pkgmgr_parser_db.c)
47 #add_library(pkgmgr_parser SHARED pkgmgr_parser.c)
48 set_target_properties(pkgmgr_parser PROPERTIES SOVERSION ${VERSION_MAJOR})
49 set_target_properties(pkgmgr_parser PROPERTIES VERSION ${VERSION})
50 set_target_properties(pkgmgr_parser PROPERTIES COMPILE_FLAGS "${parser_pkgs_CFLAGS_str}")
51 target_link_libraries(pkgmgr_parser ${parser_pkgs_LDFLAGS})
54 configure_file(pkgmgr-parser.pc.in ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-parser.pc @ONLY)
55 configure_file(preload_list.txt.in preload_list.txt @ONLY)
56 configure_file(manifest.xsd.in manifest.xsd @ONLY)
57 configure_file(xml.xsd.in xml.xsd @ONLY)
62 DESTINATION ${LIB_INSTALL_DIR}
63 COMPONENT RuntimeLibraries)
66 DESTINATION include/pkgmgr)
69 DESTINATION include/pkgmgr)
72 ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-parser.pc
73 DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
75 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/preload_list.txt DESTINATION ${PREFIX}/etc/package-manager/preload/)
76 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.xsd DESTINATION ${PREFIX}/etc/package-manager/preload/)
77 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/xml.xsd DESTINATION ${PREFIX}/etc/package-manager/preload/)