feedback: Change the vibration play function
[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 IF("${ARCH}" STREQUAL "emulator")
10         OPTION(USE_EMULATOR "Use Emulator" ON)
11 ELSEIF("${ARCH}" STREQUAL "arm")
12         OPTION(USE_ARM "Use Arm" ON)
13 ENDIF()
14
15 SET(FEEDBACK_DATA_PATH ${CMAKE_CURRENT_SOURCE_DIR}/data)
16 IF(USE_EMULATOR)
17 SET(FEEDBACK_DATA_DIRS ${FEEDBACK_DATA_PATH}/emulator)
18 ELSE(USE_EMULATOR)
19 IF(MICRO_DD)
20 SET(FEEDBACK_DATA_DIRS ${FEEDBACK_DATA_PATH}/micro)
21 ELSE(MICRO_DD)
22 SET(FEEDBACK_DATA_DIRS ${FEEDBACK_DATA_PATH}/mobile)
23 ENDIF(MICRO_DD)
24 ENDIF(USE_EMULATOR)
25
26 SET(SRCS
27         src/devices.c
28         src/sound.c
29         src/vibrator.c
30         src/xmlparser.c
31         src/feedback.c
32         src/str.c
33         src/dbus.c)
34
35 SET(HEADERS
36         SLP_FEEDBACK_PG.h
37         include/feedback.h
38         include/feedback-ids.h)
39
40 SET(DEPENDENTS "vconf mm-keysound dlog libxml-2.0 glib-2.0 dbus-1")
41 SET(PC_DEPENDENTS "capi-base-common")
42
43 SET(PC_NAME ${PROJECT_NAME})
44 SET(PC_REQUIRED ${PC_DEPENDENTS})
45 SET(PC_LDFLAGS -l${PROJECT_NAME})
46
47 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
48
49 INCLUDE(FindPkgConfig)
50 pkg_check_modules(pkgs REQUIRED ${DEPENDENTS})
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 FOREACH(hfile ${HEADERS})
71         INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/${PROJECT_NAME})
72 ENDFOREACH(hfile)
73
74 IF(MICRO_DD OR USE_EMULATOR)
75         INSTALL(DIRECTORY ${FEEDBACK_DATA_DIRS}/ DESTINATION share/${PROJECT_NAME})
76 ELSE(MICRO_DD OR USE_EMULATOR)
77         INSTALL(DIRECTORY ${FEEDBACK_DATA_DIRS}/sound DESTINATION share/${PROJECT_NAME})
78         INSTALL(FILES ${FEEDBACK_DATA_DIRS}/sound.xml DESTINATION share/${PROJECT_NAME})
79         INSTALL(FILES ${FEEDBACK_DATA_DIRS}/vibration.xml DESTINATION share/${PROJECT_NAME})
80 ENDIF(MICRO_DD OR USE_EMULATOR)