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