Skip to content

Commit aa6ac31

Browse files
committed
fix CI
1 parent 41c1f2e commit aa6ac31

File tree

2 files changed

+54
-61
lines changed

2 files changed

+54
-61
lines changed

.github/workflows/cmake_windows.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,5 @@ jobs:
4343

4444
- name: run test (Windows)
4545
working-directory: ${{github.workspace}}/build
46-
run: ./tests/Release/behaviortree_cpp_test
46+
run: ctest -C $BUILD_TYPE
4747

CMakeLists.txt

Lines changed: 53 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,9 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
2121
option(BTCPP_SHARED_LIBS "Build shared libraries" ON)
2222
option(BTCPP_ENABLE_COROUTINES "Enable boost coroutines" ON)
2323
option(BTCPP_MANUAL_SELECTOR "Build manual selector node" ON)
24-
25-
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR} )
26-
option(BTCPP_EXAMPLES "Build tutorials and examples" ON)
27-
option(BTCPP_UNIT_TESTS "Build the unit tests" ON)
28-
option(BTCPP_BUILD_TOOLS "Build commandline tools" ON)
29-
else()
30-
option(BTCPP_EXAMPLES "Build tutorials and examples" OFF)
31-
option(BTCPP_UNIT_TESTS "Build the unit tests" OFF)
32-
option(BTCPP_BUILD_TOOLS "Build commandline tools" OFF)
33-
endif()
24+
option(BTCPP_BUILD_TOOLS "Build commandline tools" ON)
25+
option(BTCPP_EXAMPLES "Build tutorials and examples" ON)
26+
option(BTCPP_UNIT_TESTS "Build the unit tests" ON)
3427

3528
option(USE_V3_COMPATIBLE_NAMES "Use some alias to compile more easily old 3.x code" OFF)
3629

@@ -49,7 +42,6 @@ if(BTCPP_ENABLE_COROUTINES)
4942
add_definitions(-DBT_BOOST_COROUTINE)
5043
set(BT_COROUTINES_FOUND true)
5144
endif()
52-
include_directories(${Boost_INCLUDE_DIRS})
5345
endif()
5446

5547
if(NOT DEFINED BT_COROUTINES_FOUND)
@@ -71,13 +63,8 @@ endif()
7163
find_package(Threads)
7264
find_package(ZMQ)
7365

74-
list(APPEND BEHAVIOR_TREE_PUBLIC_LIBRARIES
75-
${CMAKE_THREAD_LIBS_INIT}
76-
${CMAKE_DL_LIBS}
77-
)
78-
7966
if( ZMQ_FOUND )
80-
message(STATUS "ZeroMQ found.")
67+
message(STATUS "ZeroMQ: found.")
8168
add_definitions( -DZMQ_FOUND )
8269
list(APPEND BT_SOURCE src/loggers/bt_zmq_publisher.cpp)
8370
else()
@@ -101,8 +88,6 @@ if ( ament_cmake_FOUND )
10188
message(STATUS "BehaviourTree is being built using AMENT.")
10289
message(STATUS "------------------------------------------")
10390

104-
set(BUILD_TOOL_INCLUDE_DIRS ${ament_INCLUDE_DIRS})
105-
10691
elseif( CATKIN_DEVEL_PREFIX OR CATKIN_BUILD_BINARY_PACKAGE)
10792

10893
set(catkin_FOUND 1)
@@ -120,9 +105,6 @@ elseif( CATKIN_DEVEL_PREFIX OR CATKIN_BUILD_BINARY_PACKAGE)
120105
CATKIN_DEPENDS roslib
121106
)
122107

123-
list(APPEND BEHAVIOR_TREE_PUBLIC_LIBRARIES ${catkin_LIBRARIES})
124-
set(BUILD_TOOL_INCLUDE_DIRS ${catkin_INCLUDE_DIRS})
125-
126108
elseif(BTCPP_UNIT_TESTS)
127109
if(${CMAKE_VERSION} VERSION_LESS "3.11.0")
128110
find_package(GTest REQUIRED)
@@ -185,11 +167,8 @@ list(APPEND BT_SOURCE
185167
if(BTCPP_MANUAL_SELECTOR)
186168
find_package(Curses QUIET)
187169
if(CURSES_FOUND)
188-
list(APPEND BT_SOURCE
189-
src/controls/manual_node.cpp
190-
)
191-
list(APPEND BEHAVIOR_TREE_PUBLIC_LIBRARIES ${CURSES_LIBRARIES})
192-
add_definitions(-DNCURSES_FOUND)
170+
message(STATUS "NCurses: found.")
171+
list(APPEND BT_SOURCE src/controls/manual_node.cpp )
193172
else()
194173
message(WARNING "NCurses NOT found. Skipping the build of manual selector node.")
195174
endif()
@@ -207,47 +186,56 @@ if (WIN32)
207186
list(APPEND BT_SOURCE src/shared_library_WIN.cpp )
208187
endif()
209188

210-
if (BUILD_SHARED_LIBS)
189+
if (BTCPP_SHARED_LIBS)
211190
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
212191
add_library(${BEHAVIOR_TREE_LIBRARY} SHARED ${BT_SOURCE})
213192
else()
214193
add_library(${BEHAVIOR_TREE_LIBRARY} STATIC ${BT_SOURCE})
215194
endif()
216195

217-
if( ZMQ_FOUND )
218-
list(APPEND BUILD_TOOL_INCLUDE_DIRS ${ZMQ_INCLUDE_DIRS})
219-
endif()
220-
221196
target_link_libraries(${BEHAVIOR_TREE_LIBRARY}
222197
PUBLIC
223-
${BEHAVIOR_TREE_PUBLIC_LIBRARIES}
198+
${CMAKE_THREAD_LIBS_INIT}
199+
${CMAKE_DL_LIBS}
224200
PRIVATE
225-
${Boost_LIBRARIES}
226-
${ZMQ_LIBRARIES}
227201
$<BUILD_INTERFACE:foonathan::lexy>
228202
)
229203

230-
#get_target_property(my_libs ${BEHAVIOR_TREE_LIBRARY} INTERFACE_LINK_LIBRARIES)
231-
#list(REMOVE_ITEM _libs X)
232-
#message("my_libs: ${my_libs}")
204+
target_include_directories(${BEHAVIOR_TREE_LIBRARY}
205+
PUBLIC
206+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
207+
$<INSTALL_INTERFACE:include>
208+
PRIVATE
209+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/3rdparty>
210+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/lexy/include>
211+
$<BUILD_INTERFACE:${BTCPP_EXTRA_INCLUDE_DIRS}>
212+
)
233213

234-
#set_target_properties(${BEHAVIOR_TREE_LIBRARY} PROPERTIES INTERFACE_LINK_LIBRARIES "")
214+
if(ZMQ_FOUND)
215+
target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PRIVATE
216+
${ZMQ_LIBRARIES} )
217+
target_include_directories(${BEHAVIOR_TREE_LIBRARY} PRIVATE
218+
${ZMQ_INCLUDE_DIRS} )
219+
target_compile_definitions(${BEHAVIOR_TREE_LIBRARY} PRIVATE ZMQ_FOUND)
220+
endif()
235221

236-
target_compile_definitions(${BEHAVIOR_TREE_LIBRARY} PRIVATE $<$<CONFIG:Debug>:TINYXML2_DEBUG>)
222+
if(BT_COROUTINES_FOUND)
223+
target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PRIVATE
224+
${Boost_LIBRARIES} )
225+
target_include_directories(${BEHAVIOR_TREE_LIBRARY} PRIVATE
226+
${Boost_INCLUDE_DIRS} )
227+
endif()
237228

238-
target_include_directories(${BEHAVIOR_TREE_LIBRARY} PUBLIC
239-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
240-
$<INSTALL_INTERFACE:include>
241-
${BUILD_TOOL_INCLUDE_DIRS})
229+
if(CURSES_FOUND)
230+
target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PRIVATE
231+
${CURSES_LIBRARIES} )
232+
target_include_directories(${BEHAVIOR_TREE_LIBRARY} PRIVATE
233+
${CURSES_INCLUDE_DIRS} )
234+
target_compile_definitions(${BEHAVIOR_TREE_LIBRARY} PRIVATE NCURSES_FOUND)
235+
endif()
242236

243-
target_include_directories(${BEHAVIOR_TREE_LIBRARY} PRIVATE
244-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/3rdparty>
245-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/lexy/include>
246-
)
247237

248-
if( ZMQ_FOUND )
249-
target_compile_definitions(${BEHAVIOR_TREE_LIBRARY} PUBLIC ZMQ_FOUND)
250-
endif()
238+
target_compile_definitions(${BEHAVIOR_TREE_LIBRARY} PRIVATE $<$<CONFIG:Debug>:TINYXML2_DEBUG>)
251239

252240
if(MSVC)
253241
else()
@@ -258,7 +246,13 @@ endif()
258246
#############################################################
259247
if(ament_cmake_FOUND)
260248
find_package(ament_index_cpp REQUIRED)
261-
ament_target_dependencies(${BEHAVIOR_TREE_LIBRARY} PUBLIC ament_index_cpp)
249+
250+
target_include_directories(${BEHAVIOR_TREE_LIBRARY} PRIVATE
251+
$<BUILD_INTERFACE:${ament_index_cpp_INCLUDE_DIRS}> )
252+
253+
target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PRIVATE
254+
$<BUILD_INTERFACE:ament_index_cpp::ament_index_cpp> )
255+
262256
ament_export_dependencies(ament_index_cpp)
263257

264258
set( BEHAVIOR_TREE_LIB_DESTINATION lib )
@@ -269,6 +263,13 @@ if(ament_cmake_FOUND)
269263
ament_export_libraries(${BEHAVIOR_TREE_LIBRARY})
270264
ament_package()
271265
elseif(catkin_FOUND)
266+
267+
target_include_directories(${BEHAVIOR_TREE_LIBRARY} PRIVATE
268+
${catkin_INCLUDE_DIRS} )
269+
270+
target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PRIVATE
271+
${catkin_LIBRARIES} )
272+
272273
set( BEHAVIOR_TREE_LIB_DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} )
273274
set( BEHAVIOR_TREE_INC_DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION} )
274275
set( BEHAVIOR_TREE_BIN_DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} )
@@ -321,14 +322,6 @@ configure_package_config_file(
321322
INSTALL_DESTINATION "${BEHAVIOR_TREE_LIB_DESTINATION}/cmake/${PROJECT_NAME}"
322323
)
323324

324-
# This requires to declare to project version in the project() macro
325-
326-
#write_basic_package_version_file(
327-
# "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
328-
# VERSION ${PROJECT_VERSION}
329-
# COMPATIBILITY AnyNewerVersion
330-
#)
331-
332325
install(
333326
FILES
334327
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"

0 commit comments

Comments
 (0)