diff --git a/.travis.yml b/.travis.yml index 6f5d5ec3c..beab3ebad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,7 +39,7 @@ before_script: - mkdir -p build script: - - if [ "$ROS_DISTRO" = "none" ]; then (cd build; cmake .. ;cmake --build .; ./bin/behaviortree_cpp_test); fi + - if [ "$ROS_DISTRO" = "none" ]; then (cd build; cmake .. ;cmake --build .; sudo cmake --build . --target install;./bin/behaviortree_cpp_test); fi - if [ "$ROS_DISTRO" != "none" ]; then (.ci_config/travis.sh); fi diff --git a/CMakeLists.txt b/CMakeLists.txt index eafd3d647..eda83ab8d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,8 +105,13 @@ list(APPEND BT_SOURCE set(BEHAVIOR_TREE_LIBRARY ${PROJECT_NAME}) add_library(${BEHAVIOR_TREE_LIBRARY} ${BT_SOURCE} ) -target_link_libraries(${BEHAVIOR_TREE_LIBRARY} ${BEHAVIOR_TREE_EXTERNAL_LIBRARIES} ${catkin_LIBRARIES}) -target_include_directories(${BEHAVIOR_TREE_LIBRARY} PUBLIC include 3rdparty ${catkin_INCLUDE_DIRS}) +target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PUBLIC ${BEHAVIOR_TREE_EXTERNAL_LIBRARIES} ${catkin_LIBRARIES}) +target_include_directories(${BEHAVIOR_TREE_LIBRARY} PUBLIC + $ + $ + $ + $ + ${catkin_INCLUDE_DIRS}) if(MSVC) target_compile_options(${BEHAVIOR_TREE_LIBRARY} PRIVATE /W4 /WX) @@ -114,6 +119,15 @@ else() target_compile_options(${BEHAVIOR_TREE_LIBRARY} PRIVATE -Wall -Wextra -Werror=return-type) endif() +###################################################### +# EXPORTS + +set(PROJECT_NAMESPACE BehaviorTree) +set(PROJECT_CONFIG ${PROJECT_NAMESPACE}Config) +export(TARGETS ${PROJECT_NAME} + NAMESPACE ${PROJECT_NAMESPACE}:: + FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_CONFIG}.cmake") + ###################################################### # TESTS @@ -163,6 +177,7 @@ else() endif() INSTALL(TARGETS ${BEHAVIOR_TREE_LIBRARY} + EXPORT ${PROJECT_CONFIG} ARCHIVE DESTINATION ${BEHAVIOR_TREE_LIB_DESTINATION} LIBRARY DESTINATION ${BEHAVIOR_TREE_LIB_DESTINATION} ) @@ -171,6 +186,10 @@ INSTALL( DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION ${BEHAVIOR_TREE_INC_DESTINATION} FILES_MATCHING PATTERN "*.h*") +install(EXPORT ${PROJECT_CONFIG} + DESTINATION "${BEHAVIOR_TREE_LIB_DESTINATION}/${PROJECT_NAMESPACE}/cmake" + NAMESPACE ${PROJECT_NAMESPACE}::) + ###################################################### # EXAMPLES and TOOLS