diff --git a/CMakeLists.txt b/CMakeLists.txt index 2a5b1df5..5be7235a 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) @@ -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) 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}) 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));