Support /dev/mapper/rootfs root device
[platform/core/system/storaged.git] / src / block / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(module_block C)
3
4 INCLUDE(FindPkgConfig)
5
6 SET(REQUIRES_LIST ${REQUIRES_LIST}
7                 app2sd
8                 capi-system-info
9                 blkid
10                 dlog
11                 glib-2.0
12                 gio-2.0
13                 libudev
14                 mount
15                 storage
16                 libtzplatform-config
17                 vconf
18                 capi-system-device
19                 libsyscommon
20                 devmapper
21    )
22
23 IF(EXTENDED_STORAGE)
24 SET(REQUIRES_LIST ${REQUIRES_LIST} ode)
25 ENDIF(EXTENDED_STORAGE)
26
27 pkg_check_modules(${PROJECT_NAME}_pkgs REQUIRED ${REQUIRES_LIST})
28
29 FOREACH(flag ${${PROJECT_NAME}_pkgs_CFLAGS})
30         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
31 ENDFOREACH(flag)
32
33 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall -Werror -fvisibility=hidden -rdynamic")
34 IF(EXTENDED_STORAGE)
35 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DEXTENDED_STORAGE")
36 ENDIF(EXTENDED_STORAGE)
37 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
38 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
39
40 IF(BLOCK_TMPFS STREQUAL on)
41         ADD_DEFINITIONS("-DBLOCK_TMPFS")
42 ENDIF(BLOCK_TMPFS STREQUAL on)
43
44 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/shared)
45
46 FILE(GLOB ALL_SRCS "*.c")
47 SET(SRCS ${ALL_SRCS})
48 SET(SHARED_SRCS
49         ../shared/common.c
50         ../shared/apps.c
51         ../shared/fd_handler.c
52         ../shared/udev.c
53 )
54
55 ADD_LIBRARY(${PROJECT_NAME} ${SRCS} ${SHARED_SRCS})
56 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${${PROJECT_NAME}_pkgs_LDFLAGS})
57
58 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES PREFIX "")
59 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR}/storaged COMPONENT RuntimeLibraries)
60
61 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/block.conf DESTINATION /etc/storaged)
62 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/mmc-smack-label DESTINATION bin)