Re(Add Libarary for DBus communication) because of excepted review
[apps/native/tizen-things-daemon.git] / daemon / CMakeLists.txt
1 SET(CMAKE_VERBOSE_MAKEFILE 0)
2 SET(DAEMON tizen-things-daemon)
3
4 INCLUDE(FindPkgConfig)
5 pkg_check_modules(DAEMON_PKGS REQUIRED
6         libtzplatform-config
7         gio-2.0
8         gio-unix-2.0
9 )
10
11 FOREACH (flag ${DAEMON_PKGS_CFLAGS})
12     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
13 ENDFOREACH(flag)
14
15 FILE(GLOB DAEMON_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c)
16
17 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Winline -g -fno-builtin-malloc -fPIE")
18 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fstack-protector-all -D_FORTIFY_SOURCE=2")
19 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
20 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
21 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,now -Wl,-z,relro")
22
23 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
24
25 ADD_CUSTOM_COMMAND(
26         WORKING_DIRECTORY
27         OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/tizen-things-daemon-dbus.c
28         COMMAND gdbus-codegen
29                         --generate-c-code tizen-things-daemon-dbus
30                         --c-generate-object-manager
31                         --generate-docbook generated-docs
32                         ${CMAKE_CURRENT_SOURCE_DIR}/tizen-things-daemon-dbus.xml
33                         COMMENT "Generating GDBus .c/.h")
34
35
36
37 ADD_EXECUTABLE(${DAEMON} ${DAEMON_SOURCE} ${CMAKE_CURRENT_SOURCE_DIR}/tizen-things-daemon-dbus.c)
38 TARGET_LINK_LIBRARIES(${DAEMON} ${DAEMON_PKGS_LDFLAGS} -lm)
39
40 # Install
41 INSTALL(TARGETS ${DAEMON} DESTINATION ${INSTALL_BIN_DIR})