Delete meaningless configuration
[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         ode
28         libsyscommon
29 )
30
31 ADD_DEFINITIONS("-DLIBPATH=\"${LIB_INSTALL_DIR}\"")
32 ADD_DEFINITIONS("-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64")
33
34 INCLUDE(FindPkgConfig)
35 pkg_check_modules(${PROJECT_NAME}_pkgs REQUIRED ${PKG_MODULES})
36
37 FOREACH(flag ${${PROJECT_NAME}_pkgs_CFLAGS})
38         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
39 ENDFOREACH(flag)
40
41 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Werror -rdynamic -Wno-deprecated-declarations")
42 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
43 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lrt -fPIE")
44 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
45 # To apply Armoring(Full RELRO), which means GOT Table becomes read-only.
46 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now")
47
48 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
49 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${${PROJECT_NAME}_pkgs_LDFLAGS} "-ldl" "-lm")
50 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
51
52 INSTALL(FILES ${CMAKE_SOURCE_DIR}/conf/org.tizen.system.storage.conf DESTINATION /etc/dbus-1/system.d)
53 INSTALL(FILES ${CMAKE_SOURCE_DIR}/systemd/org.tizen.system.storage.service DESTINATION /usr/share/dbus-1/system-services)
54 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/systemd/ DESTINATION lib/systemd/system
55         FILES_MATCHING
56         PATTERN "storaged.service")
57
58 IF(BLOCK_MODULE STREQUAL on)
59         ADD_SUBDIRECTORY(src/block)
60         ADD_SUBDIRECTORY(${STORAGED_APPS})
61 ENDIF()
62 IF(STORAGE_MODULE STREQUAL on)
63         ADD_SUBDIRECTORY(src/storage)
64 ENDIF()
65
66 ADD_SUBDIRECTORY(src/auto-test)