-
Notifications
You must be signed in to change notification settings - Fork 321
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
149 lines (131 loc) · 4.55 KB
/
Copy pathCMakeLists.txt
File metadata and controls
149 lines (131 loc) · 4.55 KB
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
cmake_minimum_required(VERSION 3.20)
project(rosbag2_tests)
add_definitions(-D_SRC_RESOURCES_DIR_PATH="${CMAKE_CURRENT_SOURCE_DIR}/resources")
# Default to C99
if(NOT CMAKE_C_STANDARD)
set(CMAKE_C_STANDARD 99)
endif()
# Default to C++17
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
endif()
# Windows supplies macros for min and max by default. We should only use min and max from stl
if(WIN32)
add_definitions(-DNOMINMAX)
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(ament_index_cpp REQUIRED)
if(BUILD_TESTING)
find_package(ament_cmake_gmock REQUIRED)
find_package(ament_cmake_ros REQUIRED)
find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()
find_package(rclcpp REQUIRED)
find_package(rcpputils REQUIRED)
find_package(rosbag2_compression REQUIRED)
find_package(rosbag2_cpp REQUIRED)
find_package(rosbag2_interfaces REQUIRED)
find_package(rosbag2_storage REQUIRED)
find_package(rosbag2_storage_default_plugins REQUIRED)
find_package(rosbag2_test_common REQUIRED)
find_package(std_msgs REQUIRED)
find_package(test_msgs REQUIRED)
ament_add_ros_isolated_gmock(test_rosbag2_record_end_to_end
test/rosbag2_tests/test_rosbag2_record_end_to_end.cpp
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
TIMEOUT 180)
if(TARGET test_rosbag2_record_end_to_end)
target_link_libraries(test_rosbag2_record_end_to_end
rclcpp::rclcpp
rosbag2_compression::rosbag2_compression
rosbag2_compression_zstd::rosbag2_compression_zstd
rosbag2_storage::rosbag2_storage
rosbag2_test_common::rosbag2_test_common
test_msgs::test_msgs
)
ament_add_test_label(test_rosbag2_record_end_to_end xfail)
endif()
ament_add_ros_isolated_gmock(test_rosbag2_play_end_to_end
test/rosbag2_tests/test_rosbag2_play_end_to_end.cpp
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
if(TARGET test_rosbag2_play_end_to_end)
target_link_libraries(test_rosbag2_play_end_to_end
rclcpp::rclcpp
rosbag2_interfaces::rosbag2_interfaces
rosbag2_storage::rosbag2_storage
rosbag2_test_common::rosbag2_test_common
test_msgs::test_msgs
)
if(WIN32)
ament_add_test_label(test_rosbag2_play_end_to_end xfail)
endif()
endif()
ament_add_gmock(test_rosbag2_info_end_to_end
test/rosbag2_tests/test_rosbag2_info_end_to_end.cpp
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
if(TARGET test_rosbag2_info_end_to_end)
target_link_libraries(test_rosbag2_info_end_to_end
rosbag2_storage::rosbag2_storage
rosbag2_test_common::rosbag2_test_common
)
endif()
ament_add_gmock(test_converter
test/rosbag2_tests/test_converter.cpp
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
if(TARGET test_converter)
target_link_libraries(test_converter
rosbag2_cpp::rosbag2_cpp
rosbag2_test_common::rosbag2_test_common
test_msgs::test_msgs
)
endif()
ament_add_gmock(test_reindex
test/rosbag2_tests/test_reindexer.cpp)
if(TARGET test_reindex)
target_link_libraries(test_reindex
rclcpp::rclcpp
rosbag2_cpp::rosbag2_cpp
rosbag2_storage::rosbag2_storage
rosbag2_test_common::rosbag2_test_common
std_msgs::std_msgs
)
endif()
ament_add_gmock(test_rosbag2_cpp_api
test/rosbag2_tests/test_rosbag2_cpp_api.cpp
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
if(TARGET test_rosbag2_cpp_api)
target_link_libraries(test_rosbag2_cpp_api
rclcpp::rclcpp
rosbag2_cpp::rosbag2_cpp
rosbag2_storage::rosbag2_storage
rosbag2_test_common::rosbag2_test_common
test_msgs::test_msgs
)
endif()
ament_add_ros_isolated_gmock(test_rosbag2_cpp_get_service_info
test/rosbag2_tests/test_rosbag2_cpp_get_service_info.cpp
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
if(TARGET test_rosbag2_cpp_get_service_info)
target_link_libraries(test_rosbag2_cpp_get_service_info
rosbag2_cpp::rosbag2_cpp
rosbag2_storage::rosbag2_storage
rosbag2_test_common::rosbag2_test_common
rosbag2_transport::rosbag2_transport
test_msgs::test_msgs
)
endif()
ament_add_gmock(test_rosbag2_storage_api
test/rosbag2_tests/test_rosbag2_storage_api.cpp)
if(TARGET test_rosbag2_storage_api)
target_link_libraries(test_rosbag2_storage_api
rosbag2_storage::rosbag2_storage
rosbag2_test_common::rosbag2_test_common
std_msgs::std_msgs
)
endif()
endif()
ament_package()