diff --git a/CMake/FindCholmod.cmake b/CMake/FindCHOLMOD.cmake similarity index 100% rename from CMake/FindCholmod.cmake rename to CMake/FindCHOLMOD.cmake diff --git a/CMake/FindCSparse.cmake b/CMake/FindCSparse.cmake index 0fd1ca4d3..053c4e76d 100644 --- a/CMake/FindCSparse.cmake +++ b/CMake/FindCSparse.cmake @@ -21,5 +21,5 @@ FIND_LIBRARY(CSPARSE_LIBRARY NAMES cxsparse ) include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(CSPARSE DEFAULT_MSG +find_package_handle_standard_args(CSparse DEFAULT_MSG CSPARSE_INCLUDE_DIR CSPARSE_LIBRARY) \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index dea378b67..1a7fc8985 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,9 +72,9 @@ set(libraries find_package(PkgConfig REQUIRED) find_package(Eigen3 REQUIRED) +find_package(CHOLMOD REQUIRED) find_package(CSparse REQUIRED) find_package(G2O REQUIRED) -find_package(Cholmod REQUIRED) find_package(LAPACK REQUIRED) find_package(Ceres REQUIRED COMPONENTS SuiteSparse) @@ -119,7 +119,8 @@ target_include_directories(SlamToolboxPlugin PUBLIC ${OGRE_INCLUDE_DIRS} ) target_link_libraries(SlamToolboxPlugin ${QT_LIBRARIES} rviz_common::rviz_common) -rosidl_target_interfaces(SlamToolboxPlugin ${PROJECT_NAME} "rosidl_typesupport_cpp") +rosidl_get_typesupport_target(cpp_typesupport_target ${PROJECT_NAME} "rosidl_typesupport_cpp") +target_link_libraries(SlamToolboxPlugin "${cpp_typesupport_target}") target_compile_definitions(SlamToolboxPlugin PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS") target_compile_definitions(SlamToolboxPlugin PRIVATE "RVIZ_DEFAULT_PLUGINS_BUILDING_LIBRARY") pluginlib_export_plugin_description_file(rviz_common rviz_plugins.xml) @@ -132,7 +133,8 @@ target_link_libraries(ceres_solver_plugin ${CERES_LIBRARIES} ${TBB_LIBRARIES} kartoSlamToolbox ) -rosidl_target_interfaces(ceres_solver_plugin ${PROJECT_NAME} "rosidl_typesupport_cpp") +rosidl_get_typesupport_target(cpp_typesupport_target ${PROJECT_NAME} "rosidl_typesupport_cpp") +target_link_libraries(ceres_solver_plugin "${cpp_typesupport_target}") pluginlib_export_plugin_description_file(slam_toolbox solver_plugins.xml) #### Tool lib for mapping @@ -141,7 +143,8 @@ ament_target_dependencies(toolbox_common ${dependencies} ) target_link_libraries(toolbox_common kartoSlamToolbox ${Boost_LIBRARIES}) -rosidl_target_interfaces(toolbox_common ${PROJECT_NAME} "rosidl_typesupport_cpp") +rosidl_get_typesupport_target(cpp_typesupport_target ${PROJECT_NAME} "rosidl_typesupport_cpp") +target_link_libraries(toolbox_common "${cpp_typesupport_target}") #### Mapping executibles add_library(async_slam_toolbox src/slam_toolbox_async.cpp) diff --git a/lib/karto_sdk/CMakeLists.txt b/lib/karto_sdk/CMakeLists.txt index 99b8135d6..6502466cd 100644 --- a/lib/karto_sdk/CMakeLists.txt +++ b/lib/karto_sdk/CMakeLists.txt @@ -12,7 +12,7 @@ find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) find_package(Eigen3 REQUIRED) find_package(Boost REQUIRED system serialization filesystem thread) -find_package(TBB REQUIRED) +find_package(TBB REQUIRED NO_CMAKE_PACKAGE_REGISTRY) set(dependencies rclcpp @@ -29,7 +29,7 @@ add_definitions(${EIGEN3_DEFINITIONS}) include_directories(include ${EIGEN3_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) add_library(kartoSlamToolbox SHARED src/Karto.cpp src/Mapper.cpp) ament_target_dependencies(kartoSlamToolbox ${dependencies}) -target_link_libraries(kartoSlamToolbox ${Boost_LIBRARIES} ${TBB_LIBRARIES}) +target_link_libraries(kartoSlamToolbox ${Boost_LIBRARIES} TBB::tbb) install(DIRECTORY include/ DESTINATION include/ diff --git a/lib/karto_sdk/include/karto_sdk/Mapper.h b/lib/karto_sdk/include/karto_sdk/Mapper.h index ae6c8cad3..52a4a1f24 100644 --- a/lib/karto_sdk/include/karto_sdk/Mapper.h +++ b/lib/karto_sdk/include/karto_sdk/Mapper.h @@ -27,7 +27,7 @@ #include #include -#include "tbb/parallel_do.h" +#include "tbb/parallel_for_each.h" #include "tbb/parallel_for.h" #include "tbb/blocked_range.h" diff --git a/lib/karto_sdk/src/Mapper.cpp b/lib/karto_sdk/src/Mapper.cpp index 27c029303..f6995fb5e 100644 --- a/lib/karto_sdk/src/Mapper.cpp +++ b/lib/karto_sdk/src/Mapper.cpp @@ -770,7 +770,7 @@ kt_double ScanMatcher::CorrelateScan( m_nAngles = nAngles; m_searchAngleResolution = searchAngleResolution; m_doPenalize = doPenalize; - tbb::parallel_do(m_yPoses, (*this) ); + tbb::parallel_for_each(m_yPoses, (*this)); // find value of best response (in [0; 1]) kt_double bestResponse = -1;