@@ -15,7 +15,6 @@ endif()
15
15
set (CMAKE_POSITION_INDEPENDENT_CODE ON )
16
16
set (CMAKE_DEBUG_POSTFIX d )
17
17
18
- add_subdirectory ( 3rdparty/tinyXML2 )
19
18
20
19
set (CMAKE_CONFIG_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR} /cmake" )
21
20
list (APPEND CMAKE_MODULE_PATH "${CMAKE_CONFIG_PATH} " )
@@ -29,7 +28,9 @@ option(BUILD_TOOLS "Build commandline tools" ON)
29
28
find_package (Threads REQUIRED )
30
29
find_package (ZMQ )
31
30
32
- list (APPEND BEHAVIOR_TREE_EXTERNAL_LIBRARIES ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS} tinyxml2_v7 )
31
+ list (APPEND BEHAVIOR_TREE_EXTERNAL_LIBRARIES
32
+ ${CMAKE_THREAD_LIBS_INIT}
33
+ ${CMAKE_DL_LIBS} )
33
34
34
35
if ( ZMQ_FOUND )
35
36
message (STATUS "ZeroMQ found." )
@@ -46,53 +47,53 @@ set(BEHAVIOR_TREE_LIBRARY ${PROJECT_NAME})
46
47
# Update the policy setting to avoid an error when loading the ament_cmake package
47
48
# at the current cmake version level
48
49
if (POLICY CMP0057 )
49
- cmake_policy (SET CMP0057 NEW )
50
+ cmake_policy (SET CMP0057 NEW )
50
51
endif ()
51
52
52
53
find_package (ament_cmake QUIET )
53
54
54
55
if ( ament_cmake_FOUND )
55
- find_package (ament_cmake_gtest REQUIRED )
56
+ find_package (ament_cmake_gtest REQUIRED )
56
57
57
- # Not adding -DUSING_ROS since xml_parsing.cpp hasn't been ported to ROS2
58
+ # Not adding -DUSING_ROS since xml_parsing.cpp hasn't been ported to ROS2
58
59
59
- message (STATUS "------------------------------------------" )
60
- message (STATUS "BehaviourTree is being built using AMENT." )
61
- message (STATUS "------------------------------------------" )
60
+ message (STATUS "------------------------------------------" )
61
+ message (STATUS "BehaviourTree is being built using AMENT." )
62
+ message (STATUS "------------------------------------------" )
62
63
63
- set (BUILD_TOOL_INCLUDE_DIRS ${ament_INCLUDE_DIRS} )
64
+ set (BUILD_TOOL_INCLUDE_DIRS ${ament_INCLUDE_DIRS} )
64
65
65
66
elseif ( CATKIN_DEVEL_PREFIX OR CATKIN_BUILD_BINARY_PACKAGE )
66
67
67
- set (catkin_FOUND 1 )
68
- add_definitions ( -DUSING_ROS )
69
- find_package (catkin REQUIRED COMPONENTS roslib )
70
- find_package (GTest )
68
+ set (catkin_FOUND 1 )
69
+ add_definitions ( -DUSING_ROS )
70
+ find_package (catkin REQUIRED COMPONENTS roslib )
71
+ find_package (GTest )
71
72
72
- message (STATUS "------------------------------------------" )
73
- message (STATUS "BehaviourTree is being built using CATKIN." )
74
- message (STATUS "------------------------------------------" )
73
+ message (STATUS "------------------------------------------" )
74
+ message (STATUS "BehaviourTree is being built using CATKIN." )
75
+ message (STATUS "------------------------------------------" )
75
76
76
- catkin_package (
77
- INCLUDE_DIRS include # do not include "3rdparty" here
78
- LIBRARIES ${BEHAVIOR_TREE_LIBRARY}
79
- CATKIN_DEPENDS roslib
80
- )
77
+ catkin_package (
78
+ INCLUDE_DIRS include # do not include "3rdparty" here
79
+ LIBRARIES ${BEHAVIOR_TREE_LIBRARY}
80
+ CATKIN_DEPENDS roslib
81
+ )
81
82
82
- list (APPEND BEHAVIOR_TREE_EXTERNAL_LIBRARIES ${catkin_LIBRARIES} )
83
- set (BUILD_TOOL_INCLUDE_DIRS ${catkin_INCLUDE_DIRS} )
83
+ list (APPEND BEHAVIOR_TREE_EXTERNAL_LIBRARIES ${catkin_LIBRARIES} )
84
+ set (BUILD_TOOL_INCLUDE_DIRS ${catkin_INCLUDE_DIRS} )
84
85
85
- find_package (backward_ros QUIET )
86
- if (backward_ros_FOUND )
87
- message (STATUS "backward_ros found, using it." )
88
- list (APPEND BEHAVIOR_TREE_EXTERNAL_LIBRARIES ${catkin_LIBRARIES} ${backward_ros_LIBRARIES} )
89
- endif ()
86
+ find_package (backward_ros QUIET )
87
+ if (backward_ros_FOUND )
88
+ message (STATUS "backward_ros found, using it." )
89
+ list (APPEND BEHAVIOR_TREE_EXTERNAL_LIBRARIES ${catkin_LIBRARIES} ${backward_ros_LIBRARIES} )
90
+ endif ()
90
91
91
92
else ()
92
93
find_package (GTest )
93
94
94
95
if (NOT GTEST_FOUND )
95
- message (WARNING " GTest missing!" )
96
+ message (WARNING " GTest missing!" )
96
97
endif (NOT GTEST_FOUND )
97
98
98
99
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin )
@@ -136,31 +137,34 @@ list(APPEND BT_SOURCE
136
137
src/loggers/bt_cout_logger.cpp
137
138
src/loggers/bt_file_logger.cpp
138
139
src/loggers/bt_minitrace_logger.cpp
140
+ src/private/tinyxml2.cpp
141
+
139
142
3rdparty/minitrace/minitrace.cpp
140
143
)
141
144
142
- ######################################################
143
-
144
145
if (NOT backward_ros_FOUND )
145
146
list (APPEND SRC_3rd_PARTY
146
147
3rdparty/backward-cpp/backward.cpp )
147
148
endif ()
148
149
149
150
######################################################
150
151
if (UNIX )
151
- list (APPEND BT_SOURCE src/shared_library_UNIX.cpp )
152
- add_library (${BEHAVIOR_TREE_LIBRARY} SHARED ${BT_SOURCE} )
152
+ list (APPEND BT_SOURCE src/shared_library_UNIX.cpp )
153
+ add_library (${BEHAVIOR_TREE_LIBRARY} SHARED ${BT_SOURCE} )
153
154
endif ()
154
155
155
156
if (WIN32 )
156
- list (APPEND BT_SOURCE src/shared_library_WIN.cpp )
157
- add_library (${BEHAVIOR_TREE_LIBRARY} STATIC ${BT_SOURCE} )
157
+ list (APPEND BT_SOURCE src/shared_library_WIN.cpp )
158
+ add_library (${BEHAVIOR_TREE_LIBRARY} STATIC ${BT_SOURCE} )
158
159
endif ()
159
160
160
161
161
162
target_link_libraries (${BEHAVIOR_TREE_LIBRARY} PUBLIC
162
163
${BEHAVIOR_TREE_EXTERNAL_LIBRARIES} )
163
164
165
+ target_compile_definitions (${BEHAVIOR_TREE_LIBRARY} PRIVATE $< $< CONFIG:Debug> :TINYXML2_DEBUG> )
166
+
167
+
164
168
target_include_directories (${BEHAVIOR_TREE_LIBRARY} PUBLIC
165
169
$< BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include>
166
170
$< INSTALL_INTERFACE:include>
@@ -173,23 +177,14 @@ if( ZMQ_FOUND )
173
177
endif ()
174
178
175
179
if (MSVC )
176
- target_compile_options (${BEHAVIOR_TREE_LIBRARY} PRIVATE /W4 /WX )
180
+ target_compile_options (${BEHAVIOR_TREE_LIBRARY} PRIVATE /W4 /WX )
177
181
else ()
178
- target_compile_options (${BEHAVIOR_TREE_LIBRARY} PRIVATE -Wall -Wextra -Werror=return-type -g )
182
+ target_compile_options (${BEHAVIOR_TREE_LIBRARY} PRIVATE
183
+ -Wall -Wextra -Werror=return-type -g )
179
184
endif ()
180
185
181
- ######################################################
182
- # EXPORTS
183
-
184
- set (PROJECT_NAMESPACE BehaviorTree )
185
- set (PROJECT_CONFIG ${PROJECT_NAMESPACE} Config )
186
- export (TARGETS ${PROJECT_NAME}
187
- NAMESPACE ${PROJECT_NAMESPACE} ::
188
- FILE "${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_CONFIG} .cmake" )
189
-
190
186
######################################################
191
187
# Test
192
-
193
188
add_subdirectory (tests )
194
189
195
190
######################################################
@@ -212,9 +207,8 @@ else()
212
207
set ( BEHAVIOR_TREE_BIN_DESTINATION bin )
213
208
endif ()
214
209
215
- message (STATUS "BEHAVIOR_TREE_LIB_DESTINATION: ${BEHAVIOR_TREE_LIB_DESTINATION} " )
216
- message (STATUS "BEHAVIOR_TREE_INC_DESTINATION: ${BEHAVIOR_TREE_INC_DESTINATION} " )
217
- message (STATUS "BEHAVIOR_TREE_BIN_DESTINATION: ${BEHAVIOR_TREE_BIN_DESTINATION} " )
210
+ set (PROJECT_NAMESPACE BehaviorTree )
211
+ set (PROJECT_CONFIG ${PROJECT_NAMESPACE} Config )
218
212
219
213
INSTALL (TARGETS ${BEHAVIOR_TREE_LIBRARY}
220
214
EXPORT ${PROJECT_CONFIG}
@@ -230,6 +224,10 @@ install(EXPORT ${PROJECT_CONFIG}
230
224
DESTINATION "${BEHAVIOR_TREE_LIB_DESTINATION} /${PROJECT_NAMESPACE} /cmake"
231
225
NAMESPACE ${PROJECT_NAMESPACE} :: )
232
226
227
+ export (TARGETS ${PROJECT_NAME}
228
+ NAMESPACE ${PROJECT_NAMESPACE} ::
229
+ FILE "${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_CONFIG} .cmake" )
230
+
233
231
######################################################
234
232
# EXAMPLES and TOOLS
235
233
if (BUILD_TOOLS )
0 commit comments