From 47ce8d202bd15e215440849eeb8b257395b571e8 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 8 Oct 2025 00:12:53 +0200 Subject: [PATCH 1/3] Fix typo in if related to Eigen3::Eigen target and bump version to 0.10.1 --- CMakeLists.txt | 2 +- src/BayesFilters/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2a5b1df5..c80e6586 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.5) project(BayesFilters LANGUAGES CXX - VERSION 0.10.0) + VERSION 0.10.1) set(CMAKE_CXX_STANDARD 11) diff --git a/src/BayesFilters/CMakeLists.txt b/src/BayesFilters/CMakeLists.txt index 9f67f97f..1ad7a459 100644 --- a/src/BayesFilters/CMakeLists.txt +++ b/src/BayesFilters/CMakeLists.txt @@ -155,7 +155,7 @@ set_target_properties(${LIBRARY_TARGET_NAME} PROPERTIES VERSION ${${PROJEC target_include_directories(${LIBRARY_TARGET_NAME} PUBLIC "$" "$/${CMAKE_INSTALL_INCLUDEDIR}>") -if(NOT TARGET Eigen3) +if(NOT TARGET Eigen3::Eigen) target_include_directories(${LIBRARY_TARGET_NAME} PUBLIC ${EIGEN3_INCLUDE_DIR}) target_link_libraries(${LIBRARY_TARGET_NAME} PUBLIC Threads::Threads ${CMAKE_THREAD_LIBS_INIT}) From bdeb794dbd793f9fc926866ebe895989fdea5c6f Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 8 Oct 2025 00:20:45 +0200 Subject: [PATCH 2/3] Fix jacobiSvd invocation with Eigen3 5.0.0 --- src/BayesFilters/src/sigma_point.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/BayesFilters/src/sigma_point.cpp b/src/BayesFilters/src/sigma_point.cpp index a14efec0..c96bc9ac 100644 --- a/src/BayesFilters/src/sigma_point.cpp +++ b/src/BayesFilters/src/sigma_point.cpp @@ -87,8 +87,11 @@ MatrixXd bfl::sigma_point::sigma_point(const GaussianMixture& state, const doubl for (std::size_t i = 0; i < state.components; i++) { +#if EIGEN_VERSION_AT_LEAST(5,0,0) + JacobiSVD svd = state.covariance(i).jacobiSvd(); +#else JacobiSVD svd = state.covariance(i).jacobiSvd(ComputeThinU); - +#endif MatrixXd A = svd.matrixU() * svd.singularValues().cwiseSqrt().asDiagonal(); Ref sp = sigma_points.middleCols(((state.dim_covariance * 2) + 1) * i, ((state.dim_covariance * 2) + 1)); From 4dc452e724657e13fe2fec633f3e7e794c4e76cf Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 8 Oct 2025 09:37:43 +0200 Subject: [PATCH 3/3] Add Eigen3 to the public dependencies of the CMake config file --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c80e6586..5be7235a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,7 +77,7 @@ install_basic_package_files(${PROJECT_NAME} NO_SET_AND_CHECK_MACRO VARS_PREFIX ${PROJECT_NAME} NO_CHECK_REQUIRED_COMPONENTS_MACRO - DEPENDENCIES Threads) + DEPENDENCIES Eigen3 Threads) # Add the uninstall target include(AddUninstallTarget)