]> dgit.raspbian.org Git - solvespace.git/commitdiff
Support Eigen 5
authorAnton Gladky <gladk@debian.org>
Fri, 2 Oct 2026 10:00:00 +0000 (12:00 +0200)
committerdgit client-side .dsc importer <dgit@packages.debian.invalid>
Sat, 3 Oct 2026 11:43:04 +0000 (13:43 +0200)
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

index 9ded6f1dce5f347a2f1870ccd0575951b056e109..8bfb937deb5ff7c466669997687bbb5aca1ac71b 100644 (file)
@@ -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")