From 6626cd5aaa912dd3de31eaaa0d763cbc1b5bd5fc Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 10 May 2018 11:04:56 -0600 Subject: [PATCH] cmake: add Eigen3 download for USER-SMD --- cmake/CMakeLists.txt | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 213e27aece..dab8a9cc6b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -290,7 +290,26 @@ if(ENABLE_USER-NETCDF) endif() if(ENABLE_USER-SMD) - find_package(Eigen3 REQUIRED) + option(DOWNLOAD_Eigen3 "Download Eigen3 (instead of using the system's one)" OFF) + if(DOWNLOAD_Eigen3) + include(ExternalProject) + ExternalProject_Add(Eigen3_build + URL http://bitbucket.org/eigen/eigen/get/3.3.4.tar.gz + URL_MD5 1a47e78efe365a97de0c022d127607c3 + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= -DEIGEN_TEST_NOQT=ON + -DCMAKE_DISABLE_FIND_PACKAGE_LAPACK=ON -DCMAKE_DISABLE_FIND_PACKAGE_Cholmod=ON -DCMAKE_DISABLE_FIND_PACKAGE_Umfpack=ON -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU=ON + -DCMAKE_DISABLE_FIND_PACKAGE_PASTIX=ON -DCMAKE_DISABLE_FIND_PACKAGE_SPQR=ON -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON + -DCMAKE_DISABLE_FIND_PACKAGE_FFTW=ON -DCMAKE_DISABLE_FIND_PACKAGE_MPFR=ON -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL=ON + ) + ExternalProject_get_property(Eigen3_build INSTALL_DIR) + set(EIGEN3_INCLUDE_DIR ${INSTALL_DIR}/include/eigen3) + list(APPEND LAMMPS_DEPS Eigen3_build) + else() + find_package(Eigen3 QUIET) + if(NOT Eigen3_FOUND) + message(FATAL_ERROR "Eigen3 not found, help CMake to find it by setting EIGEN3_INCLUDE_DIR, or set DOWNLOAD_Eigen3=ON to download it") + endif() + endif() include_directories(${EIGEN3_INCLUDE_DIR}) endif()