1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(crash-manager C)
4 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
9 ${CMAKE_SOURCE_DIR}/src/shared/util.c
10 ${CMAKE_SOURCE_DIR}/src/shared/spawn.c
11 ${CMAKE_SOURCE_DIR}/src/shared/config.c
14 INCLUDE(FindPkgConfig)
15 pkg_check_modules(crash-manager_pkgs REQUIRED
24 FOREACH(flag ${crash-manager_pkgs_CFLAGS})
25 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
28 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE")
30 ADD_EXECUTABLE(${PROJECT_NAME} ${CRASH_MANAGER_SRCS})
31 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${crash-manager_pkgs_LDFLAGS} -pie -lrt)
33 set(CRASH_POPUP crash-popup-launch)
34 ADD_EXECUTABLE(${CRASH_POPUP} ${CRASH_POPUP}.c)
35 TARGET_LINK_LIBRARIES(crash-popup-launch ${crash-manager_pkgs_LDFLAGS} -pie -lrt)
36 install(TARGETS ${CRASH_POPUP} DESTINATION libexec)
38 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin
39 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
40 GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
42 CONFIGURE_FILE(500.${PROJECT_NAME}-upgrade.sh.in 500.${PROJECT_NAME}-upgrade.sh @ONLY)
43 CONFIGURE_FILE(99-${PROJECT_NAME}.conf.in 99-${PROJECT_NAME}.conf @ONLY)
45 INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/${PROJECT_NAME}/crash-manager.conf
47 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
49 INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/${PROJECT_NAME}/99-${PROJECT_NAME}.conf
50 DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/sysctl.d
51 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
53 INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/${PROJECT_NAME}/500.${PROJECT_NAME}-upgrade.sh
54 DESTINATION ${UPGRADE_SCRIPT_PATH}
55 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
56 GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)