CMakeLists.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. cmake_minimum_required(VERSION 2.8.3)
  2. project(emergency_handler)
  3. add_compile_options(-std=c++11)
  4. find_package(
  5. catkin REQUIRED COMPONENTS
  6. autoware_health_checker
  7. autoware_msgs
  8. autoware_system_msgs
  9. ros_observer
  10. roscpp
  11. roslint
  12. std_msgs
  13. )
  14. set(ROSLINT_CPP_OPTS "--filter=-build/c++11")
  15. roslint_cpp()
  16. catkin_package(
  17. LIBRARIES system_status_filter
  18. CATKIN_DEPENDS
  19. autoware_msgs
  20. autoware_system_msgs
  21. autoware_health_checker
  22. std_msgs
  23. )
  24. include_directories(
  25. include
  26. ${catkin_INCLUDE_DIRS}
  27. )
  28. add_library(system_status_filter lib/libsystem_status_filter.cpp lib/libvital_monitor.cpp)
  29. target_link_libraries(system_status_filter
  30. ${catkin_LIBRARIES}
  31. )
  32. add_dependencies(system_status_filter ${catkin_EXPORTED_TARGETS})
  33. set(EMERGENCY_HANDLER_SRC
  34. src/emergency_handler.cpp
  35. src/emergency_stop_planner.cpp
  36. src/system_status_filter.cpp
  37. )
  38. add_executable(
  39. emergency_handler
  40. src/emergency_handler_node.cpp
  41. ${EMERGENCY_HANDLER_SRC}
  42. )
  43. target_link_libraries(
  44. emergency_handler
  45. system_status_filter
  46. ${catkin_LIBRARIES}
  47. )
  48. add_dependencies(emergency_handler ${catkin_EXPORTED_TARGETS})
  49. install(
  50. TARGETS
  51. emergency_handler
  52. system_status_filter
  53. ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  54. LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  55. RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
  56. )
  57. ## Install project namespaced headers
  58. install(DIRECTORY include/${PROJECT_NAME}/
  59. DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
  60. )
  61. #Install launch
  62. install(DIRECTORY launch/
  63. DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
  64. PATTERN ".svn" EXCLUDE
  65. )
  66. # Install config
  67. install(DIRECTORY config/
  68. DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/config
  69. )
  70. if (CATKIN_ENABLE_TESTING)
  71. roslint_add_test()
  72. find_package(rostest REQUIRED)
  73. add_rostest_gtest(test_emergency_handler
  74. test/test_emergency_handler.test
  75. test/src/test_emergency_handler.cpp
  76. ${EMERGENCY_HANDLER_SRC}
  77. )
  78. target_link_libraries(test_emergency_handler
  79. system_status_filter
  80. ${catkin_LIBRARIES}
  81. )
  82. endif()