Improve variable naming style
[platform/core/system/storaged.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(storaged C)
3
4 SET(CMAKE_VERBOSE_MAKEFILE OFF)
5 SET(STORAGED_APPS ${CMAKE_SOURCE_DIR}/apps)
6
7 SET(SRCS
8         src/core/main.c
9         src/core/modules.c
10         src/shared/common.c
11 )
12
13 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
14 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/shared)
15
16 SET(PKG_MODULES
17         argos_watchdog
18         capi-base-common
19         capi-system-info
20         dlog
21         glib-2.0
22         gio-2.0
23         libsystemd
24         libtzplatform-config
25         libudev
26         vconf
27         libsyscommon
28 )
29
30 ADD_DEFINITIONS("-DLIBPATH=\"${LIB_INSTALL_DIR}\"")
31 ADD_DEFINITIONS("-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64")
32
33 INCLUDE(FindPkgConfig)
34 pkg_check_modules(${PROJECT_NAME}_pkgs REQUIRED ${PKG_MODULES})
35
36 FOREACH(flag ${${PROJECT_NAME}_pkgs_CFLAGS})
37         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
38 ENDFOREACH(flag)
39
40 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Werror -rdynamic -Wno-deprecated-declarations")
41 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
42 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lrt -fPIE")
43 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
44 # To apply Armoring(Full RELRO), which means GOT Table becomes read-only.
45 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now")
46
47 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
48 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${${PROJECT_NAME}_pkgs_LDFLAGS} "-ldl" "-lm")
49 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
50
51 INSTALL(FILES ${CMAKE_SOURCE_DIR}/conf/org.tizen.system.storage.conf DESTINATION /etc/dbus-1/system.d)
52 INSTALL(FILES ${CMAKE_SOURCE_DIR}/systemd/org.tizen.system.storage.service DESTINATION /usr/share/dbus-1/system-services)
53 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/systemd/ DESTINATION lib/systemd/system
54         FILES_MATCHING
55         PATTERN "storaged.service")
56
57 IF(BLOCK_MODULE STREQUAL on)
58         ADD_SUBDIRECTORY(src/block)
59         ADD_SUBDIRECTORY(${STORAGED_APPS})
60 ENDIF()
61 IF(STORAGE_MODULE STREQUAL on)
62         ADD_SUBDIRECTORY(src/storage)
63 ENDIF()
64
65 ADD_SUBDIRECTORY(src/auto-test)