### Description # Communication modules for pkg-mgr client lib and server process # By Youmin Ha cmake_minimum_required(VERSION 2.6) #set(CMAKE_SKIP_BUILD_RPATH true) set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) INCLUDE(TizenCommon) ### Versioning if(DEFINED ${VERSION}) message("VERSION: ${VERSION}") else() message("VERSION is not defined. set it as 0.1.0") set(VERSION 0.1.0) endif() if(DEFINED ${VERSION_MAJOR}) message("VERSION_MAJOR: ${VERSION_MAJOR}") else() message( "VERSION_MAJOR is not defined. set it as 0") set(VERSION_MAJOR 0) endif() message(STATUS "version/major : ${VERSION} / ${VERSION_MAJOR}") ### Define tizen version for db version if(DEFINED TIZEN_MAJOR_VER) ADD_DEFINITIONS("-DTIZEN_MAJOR_VER=\"${TIZEN_MAJOR_VER}\"") else() message("TIZEN_MAJOR_VER is not defined. set it to 0") ADD_DEFINITIONS("-DTIZEN_MAJOR_VER=\"0\"") endif() if(DEFINED TIZEN_MINOR_VER) ADD_DEFINITIONS("-DTIZEN_MINOR_VER=\"${TIZEN_MINOR_VER}\"") else() message("TIZEN_MINOR_VER is not defined. set it to 0") ADD_DEFINITIONS("-DTIZEN_MINOR_VER=\"0\"") endif() if(DEFINED TIZEN_PATCH_VER) ADD_DEFINITIONS("-DTIZEN_PATCH_VER=\"${TIZEN_PATCH_VER}\"") else() message("TIZEN_PATCH_VER is not defined. set it to 0") ADD_DEFINITIONS("-DTIZEN_PATCH_VER=\"${TIZEN_PATCH_VER}\"") endif() ### Get required CFLAGS, LDFLAGS from pkg-config include(FindPkgConfig) pkg_check_modules(parser_pkgs REQUIRED dlog libxml-2.0 glib-2.0 sqlite3 db-util vconf bundle capi-system-info libsmack) foreach(flag ${parser_pkgs_CFLAGS}) set(parser_pkgs_CFLAGS_str "${parser_pkgs_CFLAGS_str} ${flag}") endforeach() ADD_DEFINITIONS("-DLIB_PATH=\"${LIB_INSTALL_DIR}\"") ## Additional flag SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden") SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -Wno-deprecated-declarations") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") add_definitions("-DSYSCONFDIR=\"${SYSCONFDIR}\"") ### Set current binary dir to be included (for generated *.h files) include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) ### Build modules ## pkgmgr_parser object (by sewook.park) # This library is for installer backend add_library(pkgmgr_parser SHARED pkgmgr_parser.c pkgmgr_parser_db.c) #add_library(pkgmgr_parser SHARED pkgmgr_parser.c) set_target_properties(pkgmgr_parser PROPERTIES SOVERSION ${VERSION_MAJOR}) set_target_properties(pkgmgr_parser PROPERTIES VERSION ${VERSION}) set_target_properties(pkgmgr_parser PROPERTIES COMPILE_FLAGS "${parser_pkgs_CFLAGS_str}") target_link_libraries(pkgmgr_parser ${parser_pkgs_LDFLAGS}) ### Create pc file configure_file(pkgmgr-parser.pc.in ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-parser.pc @ONLY) configure_file(manifest.xsd.in manifest.xsd @ONLY) configure_file(xml.xsd.in xml.xsd @ONLY) ## Install INSTALL(TARGETS pkgmgr_parser DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries) INSTALL(FILES pkgmgr_parser.h DESTINATION include/pkgmgr) INSTALL(FILES pkgmgr_parser_db.h DESTINATION include/pkgmgr) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-parser.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.xsd DESTINATION ${SYSCONFDIR}/package-manager/preload/) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/xml.xsd DESTINATION ${SYSCONFDIR}/package-manager/preload/)