Fix systemd-assisted dbus activation sequence
[platform/core/system/feedbackd.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(feedbackd C)
3
4
5 ########################################################
6 # Deviced CMakeLists.txt
7 ########################################################
8 SET(VERSION 0.1.0)
9
10 SET(SRCS
11         src/core/main.c
12         src/core/common.c
13         src/core/config-parser.c
14         src/core/device-idler.c
15         src/core/log.c
16         src/haptic/haptic.c
17 )
18
19 IF(DRIVER STREQUAL external)
20         SET(SRCS ${SRCS} src/haptic/external.c)
21 ELSEIF(DRIVER STREQUAL emulator)
22         SET(SRCS ${SRCS} src/haptic/emulator.c)
23 ELSEIF(DRIVER STREQUAL gpio)
24         SET(SRCS ${SRCS} src/haptic/gpio_haptic.c src/haptic/standard-vibcore.c)
25 ELSEIF(DRIVER STREQUAL standard)
26         SET(SRCS ${SRCS} src/haptic/standard.c src/haptic/standard-vibcore.c)
27 ELSEIF(DRIVER STREQUAL circle)
28         SET(SRCS ${SRCS} src/haptic/circle.c src/haptic/standard-vibcore.c)
29 ELSEIF(DRIVER STREQUAL mix)
30         SET(SRCS ${SRCS} src/haptic/standard-mix.c)
31 ENDIF()
32
33 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
34
35 SET(PKG_MODULES
36         vconf
37         dlog
38         capi-base-common
39         glib-2.0
40         gio-2.0
41         gio-unix-2.0
42         capi-system-info
43         libgdbus
44         libsystemd
45 )
46
47 IF(DRIVER STREQUAL gpio)
48         SET(PKG_MODULES ${PKG_MODULES} capi-system-peripheral-io)
49 ENDIF()
50
51 INCLUDE(FindPkgConfig)
52 pkg_check_modules(pkgs2 REQUIRED ${PKG_MODULES})
53
54 FOREACH(flag ${pkgs2_CFLAGS})
55         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
56 ENDFOREACH(flag)
57
58 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Werror")
59 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
60 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lrt -fPIE")
61 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
62
63 ADD_DEFINITIONS("-DDEBUG")
64
65 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
66 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs2_LDFLAGS} "-ldl" "-lm")
67 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
68
69 INSTALL(FILES ${CMAKE_SOURCE_DIR}/scripts/feedbackd.conf DESTINATION /etc/dbus-1/system.d)
70 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/systemd/ DESTINATION lib/systemd/system
71         FILES_MATCHING
72         PATTERN "feedbackd.service")
73 INSTALL(FILES ${CMAKE_SOURCE_DIR}/systemd/org.tizen.system.vibrator.service DESTINATION /usr/share/dbus-1/system-services)
74 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/haptic/conf/haptic-level3.conf DESTINATION /etc/feedbackd)
75 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/haptic/conf/haptic-level6.conf DESTINATION /etc/feedbackd)
76
77 ADD_SUBDIRECTORY(src/auto-test)