Skip to content

Commit 9a01f33

Browse files
committed
Simpler Eigen fetch
1 parent f4741c6 commit 9a01f33

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

CMakeLists.txt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,17 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
4141
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
4242

4343
# fetch and create symbolic link to Eigen headers
44-
set(FETCHCONTENT_BASE_DIR ${CMAKE_BINARY_DIR}/deps)
45-
FetchContent_Declare(
46-
Eigen3
47-
GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
48-
GIT_TAG 3.4.0)
49-
FetchContent_GetProperties(Eigen3)
50-
if(NOT eigen3_POPULATED)
51-
FetchContent_Populate(Eigen3)
52-
message(STATUS "Eigen3 fetched")
44+
set(EIGEN_URL "https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz")
45+
set(EIGEN_TGZ "${CMAKE_BINARY_DIR}/eigen-3.4.0.tar.gz")
46+
set(EIGEN_DIR "${CMAKE_BINARY_DIR}/deps/eigen-src")
47+
if(NOT EXISTS "${EIGEN_DIR}/Eigen/Dense")
48+
file(DOWNLOAD "${EIGEN_URL}" "${EIGEN_TGZ}" SHOW_PROGRESS)
49+
file(ARCHIVE_EXTRACT INPUT "${EIGEN_TGZ}" DESTINATION "${CMAKE_BINARY_DIR}/deps")
50+
file(GLOB EIGEN_EXTRACTED_DIR "${CMAKE_BINARY_DIR}/deps/eigen-*")
51+
file(RENAME "${EIGEN_EXTRACTED_DIR}" "${EIGEN_DIR}")
52+
message(STATUS "Eigen3 fetched")
5353
endif()
54-
file(CREATE_LINK ${eigen3_SOURCE_DIR}/Eigen
55-
${CMAKE_SOURCE_DIR}/lib/LatAnalyze/Eigen SYMBOLIC)
54+
file(CREATE_LINK ${EIGEN_DIR}/Eigen ${CMAKE_SOURCE_DIR}/lib/LatAnalyze/Eigen SYMBOLIC)
5655

5756
# dependencies
5857
find_package(Threads REQUIRED)

0 commit comments

Comments
 (0)