fdead4054f8bb894781926f2cc44e520255e7fea
[apps/native/tizen-things-daemon.git] / daemon / CMakeLists.txt
1 SET(CMAKE_VERBOSE_MAKEFILE 0)
2 SET(DAEMON tizen-things-daemon)
3 SET(TTD_CONF_FILE ttd.conf)
4
5 INCLUDE(FindPkgConfig)
6 pkg_check_modules(DAEMON_PKGS REQUIRED
7         glib-2.0
8         dlog
9         capi-network-connection
10         libcurl
11         json-c
12         libtzplatform-config
13         gio-unix-2.0
14         openssl
15         capi-appfw-app-control
16         vconf
17         capi-network-softap
18         capi-network-wifi-manager
19         uuid
20         minizip
21 )
22
23 FOREACH (flag ${DAEMON_PKGS_CFLAGS})
24     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
25 ENDFOREACH(flag)
26
27 FILE(GLOB DAEMON_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c)
28
29 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Winline -g -fno-builtin-malloc -fPIE")
30 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fstack-protector-all -D_FORTIFY_SOURCE=2")
31 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
32 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
33 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,now -Wl,-z,relro")
34
35 ADD_EXECUTABLE(${DAEMON} ${DAEMON_SOURCE})
36 TARGET_LINK_LIBRARIES(${DAEMON}
37         ${DAEMON_PKGS_LDFLAGS}
38         ${COMMON_LIBS}
39         -lm
40 )
41 TARGET_INCLUDE_DIRECTORIES(${DAEMON} PUBLIC
42         ${CMAKE_CURRENT_SOURCE_DIR}/include
43         ${COMMON_INCLUDES}
44 )
45
46 # Install
47 INSTALL(TARGETS ${DAEMON} DESTINATION ${INSTALL_BIN_DIR})
48 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/${TTD_CONF_FILE} DESTINATION ${INSTALL_CONF_DIR})