Skip to content

Commit e11d3ef

Browse files
authored
revisit export (#379)
1 parent 2408947 commit e11d3ef

File tree

2 files changed

+35
-7
lines changed

2 files changed

+35
-7
lines changed

CMakeLists.txt

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ endif()
279279
# INSTALL
280280

281281
INSTALL(TARGETS ${BEHAVIOR_TREE_LIBRARY}
282-
EXPORT BehaviorTreeV3Config
282+
EXPORT ${PROJECT_NAME}Targets
283283
ARCHIVE DESTINATION ${BEHAVIOR_TREE_LIB_DESTINATION}
284284
LIBRARY DESTINATION ${BEHAVIOR_TREE_LIB_DESTINATION}
285285
RUNTIME DESTINATION ${BEHAVIOR_TREE_BIN_DESTINATION}
@@ -289,16 +289,37 @@ INSTALL( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
289289
DESTINATION ${BEHAVIOR_TREE_INC_DESTINATION}
290290
FILES_MATCHING PATTERN "*.h*")
291291

292-
install(EXPORT BehaviorTreeV3Config
293-
DESTINATION "${BEHAVIOR_TREE_LIB_DESTINATION}/BehaviorTreeV3/cmake"
294-
NAMESPACE BT::)
295-
296-
export(TARGETS ${PROJECT_NAME}
292+
install(EXPORT ${PROJECT_NAME}Targets
293+
FILE "${PROJECT_NAME}Targets.cmake"
294+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
297295
NAMESPACE BT::
298-
FILE "${CMAKE_CURRENT_BINARY_DIR}/BehaviorTreeV3Config.cmake")
296+
)
299297

300298
export(PACKAGE ${PROJECT_NAME})
301299

300+
include(CMakePackageConfigHelpers)
301+
302+
configure_package_config_file(
303+
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake.in"
304+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
305+
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
306+
)
307+
308+
# This requires to declare to project version in the project() macro
309+
310+
#write_basic_package_version_file(
311+
# "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
312+
# VERSION ${PROJECT_VERSION}
313+
# COMPATIBILITY AnyNewerVersion
314+
#)
315+
316+
install(
317+
FILES
318+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
319+
# "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
320+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
321+
)
322+
302323
######################################################
303324
# EXAMPLES and TOOLS
304325
if(BUILD_TOOLS)

cmake/Config.cmake.in

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
@PACKAGE_INIT@
2+
3+
include("${CMAKE_CURRENT_LIST_DIR}/@[email protected]")
4+
5+
set(@PROJECT_NAME@_TARGETS "BT::@BEHAVIOR_TREE_LIBRARY@")
6+
7+
check_required_components(@PROJECT_NAME@)

0 commit comments

Comments
 (0)