-
Notifications
You must be signed in to change notification settings - Fork 29
/
CMakeLists.txt
99 lines (77 loc) · 2.53 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
cmake_minimum_required(VERSION 2.8.3)
project(carla_msgs)
find_package(ros_environment REQUIRED)
set(ROS_VERSION $ENV{ROS_VERSION})
set(SERVICE_FILES SpawnObject.srv DestroyObject.srv GetBlueprints.srv)
set(MSG_FILES
CarlaBoundingBox.msg
CarlaEgoVehicleControl.msg
CarlaEgoVehicleStatus.msg
CarlaEgoVehicleInfoWheel.msg
CarlaEgoVehicleInfo.msg
CarlaCollisionEvent.msg
CarlaLaneInvasionEvent.msg
CarlaWorldInfo.msg
CarlaActorInfo.msg
CarlaActorList.msg
CarlaControl.msg
CarlaStatus.msg
CarlaTrafficLightInfo.msg
CarlaTrafficLightInfoList.msg
CarlaTrafficLightStatus.msg
CarlaTrafficLightStatusList.msg
CarlaWalkerControl.msg
CarlaWeatherParameters.msg)
if(${ROS_VERSION} EQUAL 1)
cmake_minimum_required(VERSION 2.8.3)
# Find catkin macros and libraries
find_package(catkin REQUIRED COMPONENTS message_generation std_msgs
geometry_msgs diagnostic_msgs)
add_service_files(DIRECTORY srv FILES ${SERVICE_FILES})
add_message_files(DIRECTORY msg FILES ${MSG_FILES})
generate_messages(DEPENDENCIES std_msgs geometry_msgs diagnostic_msgs)
catkin_package(CATKIN_DEPENDS message_runtime std_msgs geometry_msgs diagnostic_msgs)
elseif(${ROS_VERSION} EQUAL 2)
cmake_minimum_required(VERSION 3.5)
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 14)
endif()
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(builtin_interfaces REQUIRED)
find_package(std_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(diagnostic_msgs REQUIRED)
find_package(rosidl_default_generators REQUIRED)
# Apend "msg/" to each file name
set(TEMP_LIST "")
foreach(MSG_FILE ${MSG_FILES})
list(APPEND TEMP_LIST "msg/${MSG_FILE}")
endforeach()
set(MSG_FILES ${TEMP_LIST})
# Apend "srv/" to each file name
set(TEMP_LIST "")
foreach(SERVICE_FILE ${SERVICE_FILES})
list(APPEND TEMP_LIST "srv/${SERVICE_FILE}")
endforeach()
set(SERVICE_FILES ${TEMP_LIST})
rosidl_generate_interfaces(
${PROJECT_NAME}
${MSG_FILES}
${SERVICE_FILES}
DEPENDENCIES
builtin_interfaces
std_msgs
geometry_msgs
diagnostic_msgs
ADD_LINTER_TESTS)
ament_export_dependencies(rosidl_default_runtime)
if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()
endif()
ament_package()
endif()