8346018aadc4db63b41775d0958f8d388cc5c799
[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    )
21
22 IF(EXTENDED_STORAGE)
23 SET(REQUIRES_LIST ${REQUIRES_LIST} ode)
24 ENDIF(EXTENDED_STORAGE)
25
26 pkg_check_modules(${PROJECT_NAME}_pkgs REQUIRED ${REQUIRES_LIST})
27
28 FOREACH(flag ${${PROJECT_NAME}_pkgs_CFLAGS})
29         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
30 ENDFOREACH(flag)
31
32 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall -Werror -fvisibility=hidden -rdynamic")
33 IF(EXTENDED_STORAGE)
34 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DEXTENDED_STORAGE")
35 ENDIF(EXTENDED_STORAGE)
36 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
37 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
38
39 IF(BLOCK_TMPFS STREQUAL on)
40         ADD_DEFINITIONS("-DBLOCK_TMPFS")
41 ENDIF(BLOCK_TMPFS STREQUAL on)
42
43 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/shared)
44
45 FILE(GLOB ALL_SRCS "*.c")
46 SET(SRCS ${ALL_SRCS})
47 SET(SHARED_SRCS
48         ../shared/common.c
49         ../shared/apps.c
50         ../shared/fd_handler.c
51         ../shared/udev.c
52 )
53
54 ADD_LIBRARY(${PROJECT_NAME} ${SRCS} ${SHARED_SRCS})
55 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${${PROJECT_NAME}_pkgs_LDFLAGS})
56
57 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES PREFIX "")
58 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR}/storaged COMPONENT RuntimeLibraries)
59
60 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/block.conf DESTINATION /etc/storaged)
61 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/mmc-smack-label DESTINATION bin)