1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(crash-manager C)
4 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
8 ${CMAKE_SOURCE_DIR}/src/shared/util.c
9 ${CMAKE_SOURCE_DIR}/src/shared/spawn.c
10 ${CMAKE_SOURCE_DIR}/src/shared/config.c
13 INCLUDE(FindPkgConfig)
14 pkg_check_modules(crash-manager_pkgs REQUIRED
22 pkg_check_modules(helper_pkgs REQUIRED
27 FOREACH(flag ${crash-manager_pkgs_CFLAGS} ${helper_pkgs_CFLAGS})
28 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
31 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE")
33 ADD_EXECUTABLE(${PROJECT_NAME} ${CRASH_MANAGER_SRCS})
34 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${crash-manager_pkgs_LDFLAGS} -pie -lrt)
36 set(CRASH_POPUP crash-popup-launch)
37 ADD_EXECUTABLE(${CRASH_POPUP} ${CRASH_POPUP}.c)
38 TARGET_LINK_LIBRARIES(${CRASH_POPUP} ${helper_pkgs_LDFLAGS})
39 install(TARGETS ${CRASH_POPUP} DESTINATION libexec)
41 SET(CRASH_NOTIFY crash-notify-send)
42 ADD_EXECUTABLE(${CRASH_NOTIFY} dbus_notify.c)
43 TARGET_LINK_LIBRARIES(${CRASH_NOTIFY} ${helper_pkgs_LDFLAGS})
44 install(TARGETS ${CRASH_NOTIFY} DESTINATION libexec)
46 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin
47 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
48 GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
50 CONFIGURE_FILE(500.${PROJECT_NAME}-upgrade.sh.in 500.${PROJECT_NAME}-upgrade.sh @ONLY)
51 CONFIGURE_FILE(99-${PROJECT_NAME}.conf.in 99-${PROJECT_NAME}.conf @ONLY)
53 INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/${PROJECT_NAME}/crash-manager.conf
55 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
57 INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/${PROJECT_NAME}/99-${PROJECT_NAME}.conf
58 DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/sysctl.d
59 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
61 INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/${PROJECT_NAME}/500.${PROJECT_NAME}-upgrade.sh
62 DESTINATION ${UPGRADE_SCRIPT_PATH}
63 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
64 GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)