include(FetchContent) if(NOT DEFINED EIGEN_REPO) set(EIGEN_REPO https://gitlab.com/libeigen/eigen.git) endif () FetchContent_Declare( eigen EXCLUDE_FROM_ALL GIT_REPOSITORY ${EIGEN_REPO} GIT_TAG 5.0.0 GIT_SHALLOW TRUE OVERRIDE_FIND_PACKAGE ) set(EIGEN_BUILD_DOC OFF CACHE BOOL "" FORCE) set(BUILD_TESTING OFF CACHE BOOL "" FORCE) set(EIGEN_BUILD_PKGCONFIG OFF CACHE BOOL "" FORCE) FetchContent_MakeAvailable(eigen) if(NOT EXISTS ${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/eigen3-config.cmake AND NOT EXISTS ${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/Eigen3Config.cmake) file(WRITE ${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/eigen3-config.cmake [=[ include(CMakeFindDependencyMacro) find_dependency(eigen) ]=]) endif() if(NOT EXISTS ${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/eigen3-config-version.cmake AND NOT EXISTS ${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/Eigen3ConfigVersion.cmake) file(WRITE ${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/eigen3-config-version.cmake [=[ include(${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/eigen-config-version.cmake OPTIONAL) if(NOT PACKAGE_VERSION_COMPATIBLE) include(${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/eigenConfigVersion.cmake OPTIONAL) endif() ]=]) endif()