1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(crash-service C)
4 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/)
10 INCLUDE(FindPkgConfig)
12 pkg_check_modules(crash-service_pkgs REQUIRED
17 FOREACH(flag ${crash-service_pkgs_CFLAGS})
18 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
21 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE -Wno-unused-function -Wno-unused-const-variable")
23 INCLUDE(${CMAKE_SOURCE_DIR}/cmake/ProcessM4.cmake)
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)
30 ADD_LIBRARY(libcrash-service SHARED libcrash-service.c)
31 SET_TARGET_PROPERTIES(libcrash-service PROPERTIES
33 PUBLIC_HEADER libcrash-service.h
34 OUTPUT_NAME crash-service)
36 PROCESS_M4("${M4_DEFINES}"
37 "${CMAKE_CURRENT_SOURCE_DIR}/crash-service.service.m4"
38 "${CMAKE_CURRENT_SOURCE_DIR}/crash-service.service")
40 CONFIGURE_FILE(crash-service.pc.in crash-service.pc @ONLY)
42 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.system.crash.livedump.service
43 DESTINATION /usr/share/dbus-1/system-services)
45 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/crash-service.conf
46 DESTINATION /etc/dbus-1/system.d)
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)
52 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin
53 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
54 GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
56 INSTALL(TARGETS libcrash-service LIBRARY DESTINATION /usr/lib/
57 PUBLIC_HEADER DESTINATION /usr/include)
59 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/crash-service.pc
60 DESTINATION share/pkgconfig)