updates CMake for new modules
[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         capi-network-connection
9         libcurl
10         json-c
11         libtzplatform-config
12 )
13
14 FOREACH (flag ${DAEMON_PKGS_CFLAGS})
15     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
16 ENDFOREACH(flag)
17
18 FILE(GLOB DAEMON_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c)
19
20 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Winline -g -fno-builtin-malloc -fPIE")
21 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fstack-protector-all -D_FORTIFY_SOURCE=2")
22 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
23 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
24 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,now -Wl,-z,relro")
25
26 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
27
28 ADD_EXECUTABLE(${DAEMON} ${DAEMON_SOURCE})
29 TARGET_LINK_LIBRARIES(${DAEMON} ${DAEMON_PKGS_LDFLAGS} -lm)
30
31 # Install
32 INSTALL(TARGETS ${DAEMON} DESTINATION ${INSTALL_BIN_DIR})