Release version 0.7.28
[platform/core/appfw/app2sd.git] / plugin / app2sd / CMakeLists.txt
1 # Required packages
2 pkg_check_modules(app2sd_pkgs REQUIRED dlog pkgmgr-info gio-2.0 glib-2.0 db-util libtzplatform-config aul storage pkgmgr sqlite3)
3 pkg_check_modules(app2sd_libpkgs REQUIRED dlog pkgmgr-info gio-2.0 glib-2.0 sqlite3)
4
5 # Compiler flags
6 FOREACH(flag ${app2sd_pkgs_CFLAGS})
7         SET(APP2SD_CFLAGS "${APP2SD_CFLAGS} ${flag}")
8 ENDFOREACH(flag)
9 FOREACH(flag ${app2sd_libpkgs_CFLAGS})
10         SET(APP2SD_CFLAGS "${APP2SD_CFLAGS} ${flag}")
11 ENDFOREACH(flag)
12 SET(CMAKE_C_FLAGS "${EXTRA_CFLAGS} ${APP2SD_CFLAGS}")
13
14 # Local include directories
15 INCLUDE_DIRECTORIES(
16         ${CMAKE_SOURCE_DIR}/inc
17         ${CMAKE_SOURCE_DIR}/plugin/app2sd/common/inc)
18
19 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/common/src APP2SD_COMMON_SRCS)
20
21 # build app2sd library
22 SET(APP2SD "app2sd")
23 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/lib APP2SD_LIB_SRCS)
24 ADD_LIBRARY(${APP2SD} SHARED ${APP2SD_LIB_SRCS} ${APP2SD_COMMON_SRCS})
25 SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES SOVERSION ${MAJORVER})
26 SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES VERSION ${FULLVER})
27 SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIC -fstack-protector-strong")
28 SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES LINK_FLAGS "-Wl,--as-needed,-z,relro")
29 TARGET_LINK_LIBRARIES(${APP2SD} ${app2sd_libpkgs_LDFLAGS})
30
31 INSTALL(TARGETS ${APP2SD} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
32
33 # build app2sd-server binary
34 SET(APP2SD_SERVER "app2sd-server")
35 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/server APP2SD_SERVER_SRCS)
36 ADD_EXECUTABLE(${APP2SD_SERVER} ${APP2SD_SERVER_SRCS} ${APP2SD_COMMON_SRCS})
37 SET_TARGET_PROPERTIES(${APP2SD_SERVER} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE -fstack-protector-strong")
38 SET_TARGET_PROPERTIES(${APP2SD_SERVER} PROPERTIES LINK_FLAGS "-pie -Wl,--as-needed,-z,relro")
39 TARGET_LINK_LIBRARIES(${APP2SD_SERVER} app2sd ${app2sd_pkgs_LDFLAGS} "-lm")
40
41 CONFIGURE_FILE(org.tizen.app2sd.service.in org.tizen.app2sd.service @ONLY)
42 CONFIGURE_FILE(org.tizen.app2sd.conf.in org.tizen.app2sd.conf @ONLY)
43 CONFIGURE_FILE(app2sd-server.service.in app2sd-server.service @ONLY)
44
45 INSTALL(TARGETS ${APP2SD_SERVER} DESTINATION bin)
46 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.app2sd.service DESTINATION
47         ${CMAKE_INSTALL_PREFIX}/share/dbus-1/system-services/)
48 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.app2sd.conf DESTINATION
49         ${SYSCONF_INSTALL_DIR}/dbus-1/system.d/)
50 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/app2sd-server.service DESTINATION ${UNITDIR})
51
52 # build app2sd-mount-helper binary
53 SET(APP2SD_MOUNT_HELPER "app2sd-mount-helper")
54 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/mount_helper APP2SD_MOUNT_HELPER_SRCS)
55 ADD_EXECUTABLE(${APP2SD_MOUNT_HELPER} ${APP2SD_MOUNT_HELPER_SRCS})
56 SET_TARGET_PROPERTIES(${APP2SD_MOUNT_HELPER} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE -fstack-protector-strong")
57 SET_TARGET_PROPERTIES(${APP2SD_MOUNT_HELPER} PROPERTIES LINK_FLAGS "-pie -Wl,--as-needed,-z,relro")
58 INSTALL(TARGETS ${APP2SD_MOUNT_HELPER} DESTINATION bin)