Skip to content

Commit 8d8f5e6

Browse files
authored
Merge pull request #395 from EricaCMitchell/eigen-5.0.0
Update to Work with Eigen 5.0.0
2 parents c18114e + a29302c commit 8d8f5e6

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

cmake/modules/FindEigen3.cmake

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,18 @@ if(NOT Eigen3_FIND_VERSION)
4949
endif()
5050

5151
macro(_eigen3_check_version)
52-
file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header)
52+
# Try the Eigen 5.x location first
53+
if(EXISTS "${EIGEN3_INCLUDE_DIR}/Eigen/Version")
54+
file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/Version" _eigen3_version_header)
55+
# Fall back to Eigen 3.x location
56+
elseif(EXISTS "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h")
57+
file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header)
58+
else()
59+
# Could not locate any known Eigen version header; mark version as not OK and return.
60+
set(EIGEN3_VERSION_OK FALSE)
61+
message(STATUS "Could not find Eigen version header under ${EIGEN3_INCLUDE_DIR}")
62+
return()
63+
endif()
5364

5465
string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}")
5566
set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}")

export/CMakeLists.txt.export

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ find_package(Eigen3 MODULE)
172172
if (TARGET Eigen3::Eigen)
173173
set(LIBINT_HAS_EIGEN 1)
174174
endif()
175-
if (LIBINT2_REQUIRE_CXX_API AND NOT ${LIBINT_HAS_EIGEN})
175+
if (LIBINT2_REQUIRE_CXX_API AND NOT LIBINT_HAS_EIGEN)
176176
message(FATAL_ERROR "C++ API cannot be built without Eigen3; configure (via CMake) and install Eigen3 and add the install prefix to CMAKE_PREFIX_PATH, or add -D LIBINT2_REQUIRE_CXX_API=OFF to the CMake command line if the C++ API is not required")
177177
endif()
178178

0 commit comments

Comments
 (0)