diff --git a/tf3_geometry_msgs/CMakeLists.txt b/tf3_geometry_msgs/CMakeLists.txt index 8f14893..45505c9 100755 --- a/tf3_geometry_msgs/CMakeLists.txt +++ b/tf3_geometry_msgs/CMakeLists.txt @@ -11,15 +11,6 @@ find_package(GTest REQUIRED) # Finding Eigen3 find_package(Eigen3 REQUIRED) -if (NOT TARGET tf3) - add_subdirectory(/home/duongtd/robotics_core/tf3 ${CMAKE_BINARY_DIR}/tf3_build) -endif() - -if (NOT TARGET geometry_msgs) - add_subdirectory(/home/duongtd/robotics_core/common_msgs/geometry_msgs ${CMAKE_BINARY_DIR}/geometry_msgs_build) -endif() - - # Include directories include_directories( include @@ -36,8 +27,10 @@ install(DIRECTORY include/${PROJECT_NAME}/ add_library(tf3_geometry_msgs INTERFACE ) -target_include_directories(tf3_geometry_msgs INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/include +target_include_directories(tf3_geometry_msgs + INTERFACE + $ + $ ) # Liên kết với std_msgs nếu bạn có file Header.h trong include/std_msgs/ @@ -45,6 +38,26 @@ target_link_libraries(tf3_geometry_msgs INTERFACE geometry_msgs data_convert ) + +# --- Cài đặt thư viện vào hệ thống khi chạy make install --- +install(TARGETS tf3_geometry_msgs + EXPORT tf3_geometry_msgs-targets + ARCHIVE DESTINATION lib # Thư viện tĩnh .a + LIBRARY DESTINATION lib # Thư viện động .so + RUNTIME DESTINATION bin # File thực thi (nếu có) + INCLUDES DESTINATION include # Cài đặt include +) + +# --- Xuất export set tf3_geometry_msgs-targets thành file CMake module --- +# --- Tạo file lib/cmake/tf3_geometry_msgs/tf3_geometry_msgs-targets.cmake --- +# --- File này chứa cấu hình giúp project khác có thể dùng --- +# --- Find_package(tf3_geometry_msgs REQUIRED) --- +# --- Target_link_libraries(my_app PRIVATE tf3_geometry_msgs::tf3_geometry_msgs) --- +install(EXPORT tf3_geometry_msgs-targets + FILE tf3_geometry_msgs-targets.cmake + NAMESPACE tf3_geometry_msgs:: + DESTINATION lib/cmake/tf3_geometry_msgs +) # # Test: tomsg_frommsg add_executable(test_tomsg_frommsg test/test_tomsg_frommsg.cpp) diff --git a/tf3_sensor_msgs/CMakeLists.txt b/tf3_sensor_msgs/CMakeLists.txt index 789afc8..fc8b39e 100755 --- a/tf3_sensor_msgs/CMakeLists.txt +++ b/tf3_sensor_msgs/CMakeLists.txt @@ -12,17 +12,6 @@ find_package(GTest REQUIRED) # Finding Eigen3 find_package(Eigen3 REQUIRED) -if (NOT TARGET tf3) - add_subdirectory(/home/duongtd/robotics_core/tf3 ${CMAKE_BINARY_DIR}/tf3_build) -endif() - -if (NOT TARGET sensor_msgs) - add_subdirectory(/home/duongtd/robotics_core/common_msgs/sensor_msgs ${CMAKE_BINARY_DIR}/sensor_msgs_build) -endif() - -if (NOT TARGET geometry_msgs) - add_subdirectory(/home/duongtd/robotics_core/common_msgs/geometry_msgs ${CMAKE_BINARY_DIR}/geometry_msgs_build) -endif() # Include directories include_directories( @@ -35,8 +24,10 @@ include_directories( add_library(tf3_sensor_msgs INTERFACE ) -target_include_directories(tf3_sensor_msgs INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/include +target_include_directories(tf3_sensor_msgs + INTERFACE + $ + $ ) target_link_libraries(tf3_sensor_msgs INTERFACE @@ -44,6 +35,25 @@ target_link_libraries(tf3_sensor_msgs INTERFACE data_convert ) + # --- Cài đặt thư viện vào hệ thống khi chạy make install --- +install(TARGETS tf3_sensor_msgs + EXPORT tf3_sensor_msgs-targets + ARCHIVE DESTINATION lib # Thư viện tĩnh .a + LIBRARY DESTINATION lib # Thư viện động .so + RUNTIME DESTINATION bin # File thực thi (nếu có) + INCLUDES DESTINATION include # Cài đặt include +) + +# --- Xuất export set tf3_sensor_msgs-targets thành file CMake module --- +# --- Tạo file lib/cmake/tf3_sensor_msgs/tf3_sensor_msgs-targets.cmake --- +# --- File này chứa cấu hình giúp project khác có thể dùng --- +# --- Find_package(tf3_sensor_msgs REQUIRED) --- +# --- Target_link_libraries(my_app PRIVATE tf3_sensor_msgs::tf3_sensor_msgs) --- +install(EXPORT tf3_sensor_msgs-targets + FILE tf3_sensor_msgs-targets.cmake + NAMESPACE tf3_sensor_msgs:: + DESTINATION lib/cmake/tf3_sensor_msgs +) add_executable(test_tf2_sensor_msgs test/test_tf2_sensor_msgs.cpp) target_include_directories(test_tf2_sensor_msgs PUBLIC