Skip to content

Commit 0742c81

Browse files
Eigen version moved in 5.x.x, find version for both 3.x.x and 5.x.x
1 parent f01b9f1 commit 0742c81

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

cmake/modules/FindEigen3.cmake

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

3333
macro(_eigen3_check_version)
34-
file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header)
34+
# Try the Eigen 5.x location first
35+
if(EXISTS "${EIGEN3_INCLUDE_DIR}/Eigen/Version")
36+
file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/Version" _eigen3_version_header)
37+
# Fall back to Eigen 3.x location
38+
elseif(EXISTS "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h")
39+
file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header)
40+
else()
41+
# Could not locate any known Eigen version header; mark version as not OK and return.
42+
set(EIGEN3_VERSION_OK FALSE)
43+
message(STATUS "Could not find Eigen version header under ${EIGEN3_INCLUDE_DIR}")
44+
return()
45+
endif()
3546

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

0 commit comments

Comments
 (0)