Add Cion Server
[platform/core/appfw/event-system.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 PROJECT(esd C CXX)
4 AUX_SOURCE_DIRECTORY(src/ SRCS)
5 AUX_SOURCE_DIRECTORY(src/esd_cion/ CION_SRCS)
6
7 SET(VERSION 0.0.1)
8 SET(VERSION_MAJOR 0)
9
10 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
11 SET(EXEC_PREFIX "\${prefix}")
12 SET(LIBDIR "\${prefix}/lib")
13 SET(INCLUDEDIR "\${prefix}/include")
14
15 set(CMAKE_SKIP_BUILD_RPATH true)
16
17 ### Local include directories
18 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/src)
19
20 ### Required packages
21 INCLUDE(FindPkgConfig)
22
23 pkg_check_modules(pkgs REQUIRED
24         dlog
25         bundle
26         parcel
27         pkgmgr-info
28         glib-2.0
29         gio-2.0
30         appsvc
31         aul
32         vconf
33         libtzplatform-config
34         cert-svc-vcore
35         cynara-client
36         cynara-creds-gdbus
37         cynara-session
38         security-manager
39         sqlite3
40         uuid
41         cion
42         capi-system-info
43 )
44
45 FOREACH(flag ${pkgs_CFLAGS})
46         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
47 ENDFOREACH(flag)
48
49 #FIND_LIBRARY(LIB_DL dl)
50
51 ## Additional flag
52 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
53 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -Werror")
54 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++14 -Werror")
55 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
56
57 ## Linker flags
58 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
59
60 ##build eventsystem daemon
61 add_executable(esd ${SRCS} ${CION_SRCS})
62 TARGET_LINK_LIBRARIES(esd eventsystem pkgmgr-client ${pkgs_LDFLAGS})
63 SET_TARGET_PROPERTIES(esd PROPERTIES COMPILE_FLAGS ${CFLAGS} ${CXXFLAGS} "-fPIE")
64 SET_TARGET_PROPERTIES(esd PROPERTIES LINK_FLAGS "-pie -Wl,-z,relro")
65
66 # pkgconfig file
67 configure_file(esd.manifest.in esd.manifest @ONLY)
68 configure_file(tizen.system.event.app2esd.service.in tizen.system.event.app2esd.service @ONLY)
69
70 INSTALL(TARGETS esd DESTINATION bin)
71 INSTALL(FILES ${CMAKE_SOURCE_DIR}/eventsystem.conf DESTINATION /etc/dbus-1/system.d)
72 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tizen.system.event.app2esd.service DESTINATION ${SHARE_INSTALL_PREFIX}/dbus-1/system-services/)