b040a1b1bb91643609ea9f12b467b56e7b3983b3
[platform/core/appfw/pkgmgr-info.git] / tool / CMakeLists.txt
1 ### Description
2 # Recovery tool for pkg db corruption
3 # By Junghyun Yeon <jungh.yeon@samsung.com>
4
5 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
6 SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
7
8 ### Get required CFLAGS, LDFLAGS from pkg-config
9 SET(PKG_DB_RECOVERY pkg-db-recovery)
10 SET(PKG_DB_CREATOR "pkg-db-creator")
11 include(FindPkgConfig)
12 pkg_check_modules(TOOL_DEPS REQUIRED glib-2.0 sqlite3 libtzplatform-config)
13
14 FOREACH(FLAG ${TOOL_DEPS_CFLAGS})
15         SET(${CMAKE_C_FLAGS} "${CMAKE_C_FLAGS} ${FLAG}")
16 ENDFOREACH()
17
18 ## Additional flag
19 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -fPIE")
20 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
21
22 ### Build
23 ADD_EXECUTABLE(${PKG_DB_RECOVERY} ${CMAKE_CURRENT_SOURCE_DIR}/${PKG_DB_RECOVERY}.c)
24 TARGET_LINK_LIBRARIES(${PKG_DB_RECOVERY} pkgmgr_parser pkgmgr-info ${TOOL_DEPS_LDFLAGS} "-pie")
25 ADD_EXECUTABLE(${PKG_DB_CREATOR} ${CMAKE_CURRENT_SOURCE_DIR}/${PKG_DB_CREATOR}.c)
26 TARGET_LINK_LIBRARIES(${PKG_DB_CREATOR} pkgmgr_parser pkgmgr-info ${TOOL_DEPS_LDFLAGS} "-pie")
27
28 ## Install
29 INSTALL(TARGETS ${PKG_DB_RECOVERY} DESTINATION bin)
30 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKG_DB_RECOVERY}.service DESTINATION ${UNITDIR})
31 INSTALL(TARGETS ${PKG_DB_CREATOR} DESTINATION bin)