Skip to content

Commit ace3644

Browse files
authored
Export a tf2_bullet::tf2_bullet target (#495)
* Export a tf2_bullet::tf2_bullet target Signed-off-by: Shane Loretz <[email protected]> * Add in bullet compile definitions Signed-off-by: Shane Loretz <[email protected]>
1 parent 6f75b9f commit ace3644

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

tf2_bullet/CMakeLists.txt

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,19 @@ find_package(geometry_msgs REQUIRED)
1616
find_package(tf2 REQUIRED)
1717
find_package(tf2_ros REQUIRED)
1818

19-
if(WIN32)
20-
set(BULLET_ROOT $ENV{ChocolateyInstall}/lib/bullet)
21-
endif()
22-
find_package(Bullet REQUIRED)
19+
include(bullet-extras.cmake)
20+
21+
add_library(tf2_bullet INTERFACE)
22+
target_include_directories(tf2_bullet INTERFACE
23+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
24+
"$<INSTALL_INTERFACE:include>")
25+
target_link_libraries(tf2_bullet INTERFACE
26+
tf2_bullet::Bullet
27+
tf2::tf2
28+
${geometry_msgs_TARGETS}
29+
tf2_ros::tf2_ros)
2330

24-
include_directories(include ${BULLET_INCLUDE_DIRS})
31+
install(TARGETS tf2_bullet EXPORT export_tf2_bullet)
2532

2633
install(DIRECTORY include/${PROJECT_NAME}/
2734
DESTINATION include/${PROJECT_NAME}
@@ -38,12 +45,9 @@ if(BUILD_TESTING)
3845

3946
find_package(ament_cmake_gtest REQUIRED)
4047
ament_add_gtest(test_bullet test/test_tf2_bullet.cpp)
41-
ament_target_dependencies(test_bullet
42-
tf2
43-
geometry_msgs
44-
tf2_ros
45-
)
48+
target_link_libraries(test_bullet tf2_bullet)
4649
endif()
4750

48-
ament_export_include_directories(include)
51+
ament_export_targets(export_tf2_bullet)
52+
4953
ament_package(CONFIG_EXTRAS bullet-extras.cmake)

tf2_bullet/bullet-extras.cmake

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,15 @@
2626
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2727
# POSSIBILITY OF SUCH DAMAGE.
2828

29+
# Bullet CMake only exports old-style CMake variables.
30+
# This script makes an imported target for them.
31+
2932
if(WIN32)
3033
set(BULLET_ROOT $ENV{ChocolateyInstall}/lib/bullet)
3134
endif()
3235
find_package(Bullet REQUIRED)
3336

34-
include_directories(SYSTEM ${BULLET_INCLUDE_DIRS})
37+
add_library(tf2_bullet::Bullet INTERFACE IMPORTED)
38+
target_include_directories(tf2_bullet::Bullet INTERFACE ${BULLET_INCLUDE_DIRS})
39+
target_link_libraries(tf2_bullet::Bullet INTERFACE ${BULLET_LIBRARIES})
40+
target_compile_definitions(tf2_bullet::Bullet INTERFACE ${BULLET_DEFINITIONS})

0 commit comments

Comments
 (0)