378732cbb18250aa207cc183e4ec270c16499c56
[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         glib-2.0
7         dlog
8         libtzplatform-config
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}/src/include)
24
25 ADD_EXECUTABLE(${DAEMON} ${DAEMON_SOURCE})
26 TARGET_LINK_LIBRARIES(${DAEMON} ${DAEMON_PKGS_LDFLAGS} -lm)
27
28 # Install
29 INSTALL(TARGETS ${DAEMON} DESTINATION ${INSTALL_BIN_DIR})