feedback: Add new str pattern for all pattern
[platform/core/system/libsvi.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(feedback C)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
7 SET(VERSION 0.1.4)
8
9 SET(COMMON_PROFILE "common")
10 SET(MOBILE_PROFILE "mobile")
11 SET(WEARABLE_PROFILE "wearable")
12
13 SET(SRCS
14         src/sound.c
15         src/vibrator.c
16         src/devices.c
17         src/feedback-config.c
18         src/feedback.c
19         src/check.c
20         src/util/feedback-privilege.c)
21
22 SET(HEADERS
23         include/feedback.h
24         include/feedback-ids.h
25         include/feedback-internal.h
26         include/feedback-ids-internal.h
27         include/feedback-ids-product.h
28         include/util/feedback-privilege.h)
29
30 ADD_DEFINITIONS("-DFEEDBACK_SYS_SHARE=\"${TZ_SYS_SHARE}\"")
31 ADD_DEFINITIONS("-DFEEDBACK_SYS_RO_SHARE=\"${TZ_SYS_RO_SHARE}\"")
32
33 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
34 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/util)
35 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
36
37 INCLUDE(FindPkgConfig)
38 pkg_check_modules(pkgs REQUIRED
39                 vconf
40                 mm-keysound
41                 dlog
42                 glib-2.0
43                 gio-2.0
44                 capi-system-info
45                 capi-media-sound-manager
46                 capi-media-wav-player
47                 libsyscommon
48                 cynara-client
49                 cynara-session
50 )
51
52 FOREACH(flag ${pkgs_CFLAGS})
53         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
54 ENDFOREACH(flag)
55
56 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
57 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g")
58
59 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
60
61 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
62 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0)
63 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
64 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
65 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
66
67 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
68 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
69
70 INSTALL(FILES ${HEADERS} DESTINATION include/${PROJECT_NAME})
71 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${COMMON_PROFILE}/data/ DESTINATION share/${COMMON_PROFILE})
72 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${MOBILE_PROFILE}/data/ DESTINATION share/${MOBILE_PROFILE})
73 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${WEARABLE_PROFILE}/data/ DESTINATION share/${WEARABLE_PROFILE})
74
75 ADD_SUBDIRECTORY(tests)