File tree 8 files changed +39
-19
lines changed
8 files changed +39
-19
lines changed Original file line number Diff line number Diff line change 44
44
- name : Configure CMake
45
45
shell : bash
46
46
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
48
48
49
49
- name : Build
50
50
shell : bash
Original file line number Diff line number Diff line change 41
41
- name : Configure CMake
42
42
shell : bash
43
43
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
45
45
46
46
- name : Build
47
47
working-directory : ${{github.workspace}}/build
Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.16.3) # version on Ubuntu Focal
2
2
project (behaviortree_cpp)
3
3
4
+ set (CMAKE_CONFIG_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR} /cmake" )
5
+ list (APPEND CMAKE_MODULE_PATH "${CMAKE_CONFIG_PATH} " )
6
+
4
7
set (BTCPP_LIBRARY ${PROJECT_NAME} )
5
8
6
9
#---- Enable C++17 ----
@@ -29,6 +32,7 @@ option(BTCPP_SHARED_LIBS "Build shared libraries" ON)
29
32
option (BTCPP_BUILD_TOOLS "Build commandline tools" ON )
30
33
option (BTCPP_EXAMPLES "Build tutorials and examples" ON )
31
34
option (BTCPP_UNIT_TESTS "Build the unit tests" ON )
35
+ option (BTCPP_GROOT_INTERFACE "Add Groot2 connection. Requires ZeroMQ" ON )
32
36
33
37
option (USE_V3_COMPATIBLE_NAMES "Use some alias to compile more easily old 3.x code" OFF )
34
38
@@ -116,13 +120,18 @@ list(APPEND BT_SOURCE
116
120
src/loggers/bt_file_logger.cpp
117
121
src/loggers/bt_minitrace_logger.cpp
118
122
src/loggers/bt_observer.cpp
119
- src/loggers/groot2_publisher.cpp
120
123
121
124
3rdparty/tinyxml2/tinyxml2.cpp
122
125
3rdparty/minitrace/minitrace.cpp
123
126
)
124
127
125
128
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
+
126
135
######################################################
127
136
128
137
if (UNIX )
Original file line number Diff line number Diff line change @@ -65,15 +65,27 @@ Three build systems are supported:
65
65
- ** catkin** , if you use ROS
66
66
- ** colcon (ament)** , if you use ROS2
67
67
- ** conan** otherwise (Linux/Windows).
68
+ - ** straight cmake** if you want to be personal responsible for depndencies :)
68
69
69
70
Compiling with [ conan] ( https://conan.io/ ) :
70
71
71
72
Assuming that you are in the ** parent** directory of ` BehaviorTree.CPP ` :
72
73
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
+ ```
77
89
78
90
If you want to use BT.CPP in your application, please refer to the
79
91
example here: https://github.com/BehaviorTree/btcpp_sample .
Original file line number Diff line number Diff line change 2
2
set (CMAKE_CONFIG_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR} /cmake" )
3
3
list (APPEND CMAKE_MODULE_PATH "${CMAKE_CONFIG_PATH} " )
4
4
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)
9
7
endif ()
10
8
11
9
find_package (ament_index_cpp REQUIRED)
12
10
13
11
set ( BTCPP_EXTRA_LIBRARIES
14
12
$<BUILD_INTERFACE:ament_index_cpp::ament_index_cpp>
15
13
$<BUILD_INTERFACE:${ZeroMQ_LIBRARIES} >
16
- ${CURSES_LIBRARIES}
17
14
)
18
15
19
16
ament_export_dependencies(ament_index_cpp)
Original file line number Diff line number Diff line change 2
2
set (CMAKE_CONFIG_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR} /cmake" )
3
3
list (APPEND CMAKE_MODULE_PATH "${CMAKE_CONFIG_PATH} " )
4
4
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)
9
7
endif ()
10
8
9
+
11
10
find_package (catkin REQUIRED COMPONENTS roslib)
12
11
13
12
catkin_package(
@@ -19,7 +18,6 @@ set(BTCPP_EXTRA_INCLUDE_DIRS ${catkin_INCLUDE_DIRS} )
19
18
20
19
set ( BTCPP_EXTRA_LIBRARIES
21
20
${catkin_LIBRARIES}
22
- ${CURSES_LIBRARIES}
23
21
${ZeroMQ_LIBRARIES} )
24
22
25
23
set ( BTCPP_LIB_DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} )
Original file line number Diff line number Diff line change 1
1
list (APPEND CMAKE_PREFIX_PATH "${CMAKE_BINARY_DIR} " )
2
- find_package (ZeroMQ REQUIRED)
3
2
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 ()
5
8
6
9
set ( BTCPP_LIB_DESTINATION lib )
7
10
set ( BTCPP_INCLUDE_DESTINATION include )
Original file line number Diff line number Diff line change @@ -5,3 +5,4 @@ sqlite3/3.40.1
5
5
6
6
[generators]
7
7
CMakeDeps
8
+ CMakeToolchain
You can’t perform that action at this time.
0 commit comments