Add crash manager API
[platform/core/system/crash-worker.git] / src / crash-service / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(crash-service C)
3
4 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/)
5
6 SET(CRASH_SERVICE_SRCS
7         crash-service.c
8         )
9
10 INCLUDE(FindPkgConfig)
11
12 pkg_check_modules(crash-service_pkgs REQUIRED
13         dlog
14         gio-2.0
15         )
16
17 FOREACH(flag ${crash-service_pkgs_CFLAGS})
18         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
19 ENDFOREACH(flag)
20
21 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE -Wno-unused-function -Wno-unused-const-variable")
22
23 INCLUDE(${CMAKE_SOURCE_DIR}/cmake/ProcessM4.cmake)
24
25 LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/crash-manager)
26 ADD_EXECUTABLE(${PROJECT_NAME} ${CRASH_SERVICE_SRCS})
27 ADD_DEPENDENCIES(${PROJECT_NAME} crash-manager)
28 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${crash-service_pkgs_LDFLAGS} -pie -lrt -lcrash-manager)
29
30 ADD_LIBRARY(libcrash-service SHARED libcrash-service.c)
31 SET_TARGET_PROPERTIES(libcrash-service PROPERTIES
32         SOVERSION 1
33         PUBLIC_HEADER libcrash-service.h
34         OUTPUT_NAME crash-service)
35
36 PROCESS_M4("${M4_DEFINES}"
37         "${CMAKE_CURRENT_SOURCE_DIR}/crash-service.service.m4"
38         "${CMAKE_CURRENT_SOURCE_DIR}/crash-service.service")
39
40 CONFIGURE_FILE(crash-service.pc.in crash-service.pc @ONLY)
41
42 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.system.crash.livedump.service
43         DESTINATION /usr/share/dbus-1/system-services)
44
45 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/crash-service.conf
46         DESTINATION /etc/dbus-1/system.d)
47
48 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/crash-service.service
49         DESTINATION /usr/lib/systemd/system
50         PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
51
52 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin
53         PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
54         GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
55
56 INSTALL(TARGETS libcrash-service LIBRARY DESTINATION /usr/lib/
57         PUBLIC_HEADER DESTINATION /usr/include)
58
59 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/crash-service.pc
60         DESTINATION share/pkgconfig)