mirror of
https://github.com/modelec/modelec-marcel-ROS.git
synced 2026-03-18 21:50:36 +01:00
94 lines
2.8 KiB
CMake
94 lines
2.8 KiB
CMake
cmake_minimum_required(VERSION 3.8)
|
|
project(modelec_strat)
|
|
|
|
if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
add_compile_options(-Wall -Wextra -Wpedantic)
|
|
endif ()
|
|
|
|
find_package(ament_cmake REQUIRED)
|
|
find_package(std_msgs REQUIRED)
|
|
find_package(sensor_msgs REQUIRED)
|
|
find_package(std_srvs REQUIRED)
|
|
find_package(rclcpp REQUIRED)
|
|
find_package(ament_index_cpp REQUIRED)
|
|
|
|
find_package(modelec_interfaces REQUIRED)
|
|
find_package(modelec_utils REQUIRED)
|
|
|
|
set(strat_fsm_sources
|
|
src/strat_fms.cpp
|
|
src/navigation_helper.cpp
|
|
src/pathfinding.cpp
|
|
|
|
src/action_executor.cpp
|
|
src/action/up_action.cpp
|
|
src/action/down_action.cpp
|
|
src/action/free_action.cpp
|
|
src/action/take_action.cpp
|
|
src/action/toggle_servo_action.cpp
|
|
src/action/look_on_action.cpp
|
|
src/action/thermo_action.cpp
|
|
|
|
src/missions/go_home_mission.cpp
|
|
src/missions/take_mission.cpp
|
|
src/missions/free_mission.cpp
|
|
src/missions/thermo_mission.cpp
|
|
|
|
src/obstacle/obstacle.cpp
|
|
src/obstacle/box.cpp
|
|
|
|
src/deposite_zone.cpp
|
|
)
|
|
|
|
add_executable(strat_fsm ${strat_fsm_sources})
|
|
ament_target_dependencies(strat_fsm rclcpp std_msgs sensor_msgs std_srvs modelec_interfaces ament_index_cpp)
|
|
target_link_libraries(strat_fsm modelec_utils::utils modelec_utils::config)
|
|
target_include_directories(strat_fsm PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
|
$<INSTALL_INTERFACE:include>
|
|
)
|
|
|
|
add_executable(enemy_manager src/enemy_manager.cpp)
|
|
ament_target_dependencies(enemy_manager rclcpp std_msgs sensor_msgs std_srvs modelec_interfaces ament_index_cpp)
|
|
target_link_libraries(enemy_manager modelec_utils::utils modelec_utils::config)
|
|
target_include_directories(enemy_manager PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
|
$<INSTALL_INTERFACE:include>
|
|
)
|
|
|
|
|
|
add_executable(pami_manager src/pami_manager.cpp src/obstacle/obstacle.cpp)
|
|
ament_target_dependencies(pami_manager rclcpp std_msgs std_srvs modelec_interfaces ament_index_cpp)
|
|
target_link_libraries(pami_manager modelec_utils::utils modelec_utils::config)
|
|
target_include_directories(pami_manager PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
|
$<INSTALL_INTERFACE:include>
|
|
)
|
|
|
|
if (BUILD_TESTING)
|
|
find_package(ament_lint_auto REQUIRED)
|
|
set(ament_cmake_copyright_FOUND TRUE)
|
|
set(ament_cmake_cpplint_FOUND TRUE)
|
|
ament_lint_auto_find_test_dependencies()
|
|
endif ()
|
|
|
|
install(TARGETS
|
|
strat_fsm
|
|
enemy_manager
|
|
pami_manager
|
|
DESTINATION lib/${PROJECT_NAME}
|
|
)
|
|
|
|
install(
|
|
DIRECTORY data/
|
|
DESTINATION share/${PROJECT_NAME}/data
|
|
FILES_MATCHING PATTERN "*.xml"
|
|
)
|
|
|
|
# Install include files
|
|
install(DIRECTORY include/
|
|
DESTINATION include/
|
|
)
|
|
|
|
ament_package()
|