@@ -105,15 +105,29 @@ list(APPEND BT_SOURCE
105
105
set (BEHAVIOR_TREE_LIBRARY ${PROJECT_NAME} )
106
106
107
107
add_library (${BEHAVIOR_TREE_LIBRARY} ${BT_SOURCE} )
108
- target_link_libraries (${BEHAVIOR_TREE_LIBRARY} ${BEHAVIOR_TREE_EXTERNAL_LIBRARIES} ${catkin_LIBRARIES} )
109
- target_include_directories (${BEHAVIOR_TREE_LIBRARY} PUBLIC include 3rdparty ${catkin_INCLUDE_DIRS} )
108
+ target_link_libraries (${BEHAVIOR_TREE_LIBRARY} PUBLIC ${BEHAVIOR_TREE_EXTERNAL_LIBRARIES} ${catkin_LIBRARIES} )
109
+ target_include_directories (${BEHAVIOR_TREE_LIBRARY} PUBLIC
110
+ $< BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include>
111
+ $< INSTALL_INTERFACE:include>
112
+ $< BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /3rdparty>
113
+ $< INSTALL_INTERFACE:3rdparty>
114
+ ${catkin_INCLUDE_DIRS} )
110
115
111
116
if (MSVC )
112
117
target_compile_options (${BEHAVIOR_TREE_LIBRARY} PRIVATE /W4 /WX )
113
118
else ()
114
119
target_compile_options (${BEHAVIOR_TREE_LIBRARY} PRIVATE -Wall -Wextra -Werror=return-type )
115
120
endif ()
116
121
122
+ ######################################################
123
+ # EXPORTS
124
+
125
+ set (PROJECT_NAMESPACE BehaviorTree )
126
+ set (PROJECT_CONFIG ${PROJECT_NAMESPACE} Config )
127
+ export (TARGETS ${PROJECT_NAME}
128
+ NAMESPACE ${PROJECT_NAMESPACE} ::
129
+ FILE "${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_CONFIG} .cmake" )
130
+
117
131
######################################################
118
132
# TESTS
119
133
@@ -154,23 +168,32 @@ endif()
154
168
# INSTALL
155
169
if (catkin_FOUND )
156
170
set ( BEHAVIOR_TREE_LIB_DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} )
157
- set ( BEHAVIOR_TREE_INC_DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION } )
171
+ set ( BEHAVIOR_TREE_INC_DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION } )
158
172
set ( BEHAVIOR_TREE_BIN_DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} )
159
173
else ()
160
174
set ( BEHAVIOR_TREE_LIB_DESTINATION lib )
161
175
set ( BEHAVIOR_TREE_INC_DESTINATION include )
162
176
set ( BEHAVIOR_TREE_BIN_DESTINATION bin )
163
177
endif ()
164
178
179
+ message (STATUS "BEHAVIOR_TREE_LIB_DESTINATION: ${BEHAVIOR_TREE_LIB_DESTINATION} " )
180
+ message (STATUS "BEHAVIOR_TREE_INC_DESTINATION: ${BEHAVIOR_TREE_INC_DESTINATION} " )
181
+ message (STATUS "BEHAVIOR_TREE_BIN_DESTINATION: ${BEHAVIOR_TREE_BIN_DESTINATION} " )
182
+
165
183
INSTALL (TARGETS ${BEHAVIOR_TREE_LIBRARY}
184
+ EXPORT ${PROJECT_CONFIG}
166
185
ARCHIVE DESTINATION ${BEHAVIOR_TREE_LIB_DESTINATION}
167
186
LIBRARY DESTINATION ${BEHAVIOR_TREE_LIB_DESTINATION}
168
187
)
169
188
170
- INSTALL ( DIRECTORY ${CMAKE_SOURCE_DIR } /include/
189
+ INSTALL ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR } /include/
171
190
DESTINATION ${BEHAVIOR_TREE_INC_DESTINATION}
172
191
FILES_MATCHING PATTERN "*.h*" )
173
192
193
+ install (EXPORT ${PROJECT_CONFIG}
194
+ DESTINATION "${BEHAVIOR_TREE_LIB_DESTINATION} /${PROJECT_NAMESPACE} /cmake"
195
+ NAMESPACE ${PROJECT_NAMESPACE} :: )
196
+
174
197
######################################################
175
198
# EXAMPLES and TOOLS
176
199
0 commit comments