Refactor slp-pkgmgr with tidl
[platform/core/appfw/slp-pkgmgr.git] / installer / CMakeLists.txt
1 include(FindPkgConfig)
2
3 AUX_SOURCE_DIRECTORY(src SRCS)
4
5 PKG_CHECK_MODULES(INSTALLER_DEPS REQUIRED
6   glib-2.0
7   gio-2.0
8   dlog
9   pkgmgr-info
10   libtzplatform-config
11   rpc-port
12   capi-appfw-event
13 )
14
15 FOREACH(FLAGS ${INSTALLER_DEPS_CFLAGS})
16   SET(INSTALLER_CFLAGS "${INSTALLER_CFLAGS} ${FLAGS}")
17 ENDFOREACH(FLAGS)
18
19 PKG_CHECK_MODULES(AGENT_DEPS REQUIRED
20   aul
21   glib-2.0
22   gio-2.0
23   dlog
24   libsystemd
25 )
26 FOREACH(FLAG ${AGENT_DEPS_CFLAGS})
27         SET(AGENT_CFLAGS "${AGENT_CFLAGS} ${FLAG}")
28 ENDFOREACH()
29
30 SET(CMAKE_C_FLAGS "${INSTALLER_CFLAGS}")
31 SET(CMAKE_CXX_FLAGS "${INSTALLER_CFLAGS} -std=c++17 -fPIC")
32
33 INCLUDE_DIRECTORIES(include)
34
35 ### Build modules
36 add_library(pkgmgr_installer SHARED ${SRCS})
37 set_target_properties(pkgmgr_installer PROPERTIES SOVERSION ${MAJORVER})
38 set_target_properties(pkgmgr_installer PROPERTIES VERSION ${FULLVER})
39 target_link_libraries(pkgmgr_installer ${INSTALLER_DEPS_LDFLAGS})
40
41 ### Create pc file
42 configure_file(pkgmgr-installer.pc.in ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-installer.pc @ONLY)
43
44 ## Install
45 INSTALL(TARGETS pkgmgr_installer DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
46 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/pkgmgr_installer.h DESTINATION include/pkgmgr)
47 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/pkgmgr_installer_info.h DESTINATION include/pkgmgr)
48 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/pkgmgr_installer_error.h DESTINATION include/pkgmgr)
49 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/pkgmgr_installer_type.h DESTINATION include/pkgmgr)
50 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-installer.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
51
52 ## pkgmgr_installer_signal_agent
53 ADD_EXECUTABLE(pkgmgr-installer-signal-agent pkgmgr_installer_signal_agent.cc)
54 SET_TARGET_PROPERTIES(pkgmgr-installer-signal-agent PROPERTIES COMPILE_FLAGS "${AGENT_CFLAGS} -fPIE")
55 TARGET_LINK_LIBRARIES(pkgmgr-installer-signal-agent PRIVATE pkgmgr_installer)
56 TARGET_LINK_LIBRARIES(pkgmgr-installer-signal-agent ${AGENT_DEPS_LDFLAGS} "-pie")
57
58 INSTALL(TARGETS pkgmgr-installer-signal-agent DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)