From e0a4fcbb9da5f5cd8321c137bd0f03df3ab1dee8 Mon Sep 17 00:00:00 2001 From: Anton Gladky Date: Fri, 2 Oct 2026 12:00:00 +0200 Subject: [PATCH] Support Eigen 5 Eigen >= 5 no longer sets EIGEN3_INCLUDE_DIRS in its CMake package config and only exports the Eigen3::Eigen target. Take the include directory from the target so the system Eigen is found. Eigen >= 5 also requires C++14, so bump the C++ standard. Forwarded: no Last-Update: 2026-10-02 Gbp-Pq: Name 07-Support-Eigen-5.patch --- CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ded6f1..8bfb937 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ endif() list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/") -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED YES) # for /MT on MSVC @@ -220,6 +220,11 @@ find_package(mimalloc CONFIG) if(NOT FORCE_VENDORED_Eigen3) find_package(Eigen3 CONFIG) + # Eigen >= 5 only exports the Eigen3::Eigen target + if(NOT EIGEN3_INCLUDE_DIRS AND TARGET Eigen3::Eigen) + get_target_property(EIGEN3_INCLUDE_DIRS Eigen3::Eigen + INTERFACE_INCLUDE_DIRECTORIES) + endif() endif() if(FORCE_VENDORED_Eigen3 OR NOT EIGEN3_INCLUDE_DIRS) message(STATUS "Using in-tree Eigen") -- 2.39.5