File tree Expand file tree Collapse file tree 8 files changed +39
-19
lines changed Expand file tree Collapse file tree 8 files changed +39
-19
lines changed Original file line number Diff line number Diff line change 4444 - name : Configure CMake
4545 shell : bash
4646 working-directory : ${{github.workspace}}/build
47- run : cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
47+ run : cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake
4848
4949 - name : Build
5050 shell : bash
Original file line number Diff line number Diff line change 4141 - name : Configure CMake
4242 shell : bash
4343 working-directory : ${{github.workspace}}/build
44- run : cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
44+ run : cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake
4545
4646 - name : Build
4747 working-directory : ${{github.workspace}}/build
Original file line number Diff line number Diff line change 11cmake_minimum_required (VERSION 3.16.3) # version on Ubuntu Focal
22project (behaviortree_cpp)
33
4+ set (CMAKE_CONFIG_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR} /cmake" )
5+ list (APPEND CMAKE_MODULE_PATH "${CMAKE_CONFIG_PATH} " )
6+
47set (BTCPP_LIBRARY ${PROJECT_NAME} )
58
69#---- Enable C++17 ----
@@ -29,6 +32,7 @@ option(BTCPP_SHARED_LIBS "Build shared libraries" ON)
2932option (BTCPP_BUILD_TOOLS "Build commandline tools" ON )
3033option (BTCPP_EXAMPLES "Build tutorials and examples" ON )
3134option (BTCPP_UNIT_TESTS "Build the unit tests" ON )
35+ option (BTCPP_GROOT_INTERFACE "Add Groot2 connection. Requires ZeroMQ" ON )
3236
3337option (USE_V3_COMPATIBLE_NAMES "Use some alias to compile more easily old 3.x code" OFF )
3438
@@ -116,13 +120,18 @@ list(APPEND BT_SOURCE
116120 src/loggers/bt_file_logger.cpp
117121 src/loggers/bt_minitrace_logger.cpp
118122 src/loggers/bt_observer.cpp
119- src/loggers/groot2_publisher.cpp
120123
121124 3rdparty/tinyxml2/tinyxml2.cpp
122125 3rdparty/minitrace/minitrace.cpp
123126 )
124127
125128
129+ if (BTCPP_GROOT_INTERFACE)
130+ # should be found already, at this stage
131+ list (APPEND BT_SOURCE src/loggers/groot2_publisher.cpp )
132+ endif ()
133+
134+
126135######################################################
127136
128137if (UNIX )
Original file line number Diff line number Diff line change @@ -65,15 +65,27 @@ Three build systems are supported:
6565- ** catkin** , if you use ROS
6666- ** colcon (ament)** , if you use ROS2
6767- ** conan** otherwise (Linux/Windows).
68+ - ** straight cmake** if you want to be personal responsible for depndencies :)
6869
6970Compiling with [ conan] ( https://conan.io/ ) :
7071
7172Assuming that you are in the ** parent** directory of ` BehaviorTree.CPP ` :
7273
73- mkdir build; cd build
74- conan install ../BehaviorTree.CPP --output-folder=. --build=missing
75- cmake ../BehaviorTree.CPP
76- cmake --build . --parallel
74+ ```
75+ mkdir build; cd build
76+ conan install ../BehaviorTree.CPP --output-folder=. --build=missing
77+ cmake ../BehaviorTree.CPP -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake
78+ cmake --build . --parallel
79+ ```
80+
81+ If you have dependencies such as ZeroMQ and SQlite already installed and you don't want to
82+ use conan, simply type:
83+
84+ ```
85+ mkdir build; cd build
86+ cmake ../BehaviorTree.CPP
87+ cmake --build . --parallel
88+ ```
7789
7890If you want to use BT.CPP in your application, please refer to the
7991example here: https://github.com/BehaviorTree/btcpp_sample .
Original file line number Diff line number Diff line change 22set (CMAKE_CONFIG_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR} /cmake" )
33list (APPEND CMAKE_MODULE_PATH "${CMAKE_CONFIG_PATH} " )
44
5- find_package (ZeroMQ)
6-
7- if (BTCPP_MANUAL_SELECTOR)
8- find_package (Curses REQUIRED)
5+ if (BTCPP_GROOT_INTERFACE)
6+ find_package (ZeroMQ REQUIRED)
97endif ()
108
119find_package (ament_index_cpp REQUIRED)
1210
1311set ( BTCPP_EXTRA_LIBRARIES
1412 $<BUILD_INTERFACE:ament_index_cpp::ament_index_cpp>
1513 $<BUILD_INTERFACE:${ZeroMQ_LIBRARIES} >
16- ${CURSES_LIBRARIES}
1714)
1815
1916ament_export_dependencies(ament_index_cpp)
Original file line number Diff line number Diff line change 22set (CMAKE_CONFIG_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR} /cmake" )
33list (APPEND CMAKE_MODULE_PATH "${CMAKE_CONFIG_PATH} " )
44
5- find_package (ZeroMQ)
6-
7- if (BTCPP_MANUAL_SELECTOR)
8- find_package (Curses REQUIRED)
5+ if (BTCPP_GROOT_INTERFACE)
6+ find_package (ZeroMQ REQUIRED)
97endif ()
108
9+
1110find_package (catkin REQUIRED COMPONENTS roslib)
1211
1312catkin_package(
@@ -19,7 +18,6 @@ set(BTCPP_EXTRA_INCLUDE_DIRS ${catkin_INCLUDE_DIRS} )
1918
2019set ( BTCPP_EXTRA_LIBRARIES
2120 ${catkin_LIBRARIES}
22- ${CURSES_LIBRARIES}
2321 ${ZeroMQ_LIBRARIES} )
2422
2523set ( BTCPP_LIB_DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} )
Original file line number Diff line number Diff line change 11list (APPEND CMAKE_PREFIX_PATH "${CMAKE_BINARY_DIR} " )
2- find_package (ZeroMQ REQUIRED)
32
4- set ( BTCPP_EXTRA_LIBRARIES ${ZeroMQ_LIBRARIES} )
3+ if (BTCPP_GROOT_INTERFACE)
4+ find_package (ZeroMQ REQUIRED)
5+ list (APPEND BTCPP_EXTRA_LIBRARIES ${ZeroMQ_LIBRARIES} )
6+ message (STATUS "ZeroMQ_LIBRARIES: ${ZeroMQ_LIBRARIES} " )
7+ endif ()
58
69set ( BTCPP_LIB_DESTINATION lib )
710set ( BTCPP_INCLUDE_DESTINATION include )
Original file line number Diff line number Diff line change @@ -5,3 +5,4 @@ sqlite3/3.40.1
55
66[generators]
77CMakeDeps
8+ CMakeToolchain
You can’t perform that action at this time.
0 commit comments