| From f49d5c1a6b7c22be359189cd0b1e2e766bd05365 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com> |
| Date: Sat, 5 Mar 2022 05:49:45 +0000 |
| Subject: [PATCH] Adds new CMake Options for controlling build components. |
| |
| [Retrieved from: |
| https://gitlab.com/libeigen/eigen/-/commit/cf82186416d04ea5df2a397d8fe09dc78d40ca65] |
| Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| [Julien: rebased patch on 3.4.0] |
| Signed-off-by: Julien Olivain <ju.o@free.fr> |
| --- |
| CMakeLists.txt | 6 ++++++ |
| blas/CMakeLists.txt | 3 ++- |
| lapack/CMakeLists.txt | 5 +++++ |
| 3 files changed, 13 insertions(+), 1 deletion(-) |
| |
| diff --git a/CMakeLists.txt b/CMakeLists.txt |
| index f3e69b845..74ff755f5 100644 |
| --- a/CMakeLists.txt |
| +++ b/CMakeLists.txt |
| @@ -495,6 +495,9 @@ if(BUILD_TESTING) |
| add_subdirectory(failtest) |
| endif() |
| |
| +include(CMakeDetermineFortranCompiler) |
| +option(EIGEN_BUILD_BLAS "Toggles the building of the Eigen Blas library" ${CMAKE_Fortran_COMPILER}) |
| +option(EIGEN_BUILD_LAPACK "Toggles the building of the included Eigen LAPACK library" ${CMAKE_Fortran_COMPILER}) |
| if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) |
| add_subdirectory(blas) |
| add_subdirectory(lapack) |
| @@ -612,6 +615,8 @@ set_target_properties (eigen PROPERTIES EXPORT_NAME Eigen) |
| |
| install (TARGETS eigen EXPORT Eigen3Targets) |
| |
| +option(EIGEN_BUILD_CMAKE_PACKAGE "Enables the creation of EigenConfig.cmake and related files" ON) |
| +if(EIGEN_BUILD_CMAKE_PACKAGE) |
| configure_package_config_file ( |
| ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Eigen3Config.cmake.in |
| ${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.cmake |
| @@ -647,6 +652,7 @@ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/UseEigen3.cmake |
| # Add uninstall target |
| add_custom_target ( uninstall |
| COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/EigenUninstall.cmake) |
| +endif() |
| |
| if (EIGEN_SPLIT_TESTSUITE) |
| ei_split_testsuite("${EIGEN_SPLIT_TESTSUITE}") |
| diff --git a/blas/CMakeLists.txt b/blas/CMakeLists.txt |
| index f3a94ec4a..d07090f69 100644 |
| --- a/blas/CMakeLists.txt |
| +++ b/blas/CMakeLists.txt |
| @@ -1,6 +1,7 @@ |
| |
| project(EigenBlas CXX) |
| |
| +if(EIGEN_BUILD_BLAS) |
| include(CheckLanguage) |
| check_language(Fortran) |
| if(CMAKE_Fortran_COMPILER) |
| @@ -59,4 +60,4 @@ if(BUILD_TESTING) |
| endif() |
| |
| endif() |
| - |
| +endif() |
| diff --git a/lapack/CMakeLists.txt b/lapack/CMakeLists.txt |
| index e48497fda..71255d96d 100644 |
| --- a/lapack/CMakeLists.txt |
| +++ b/lapack/CMakeLists.txt |
| @@ -1,6 +1,8 @@ |
| |
| project(EigenLapack CXX) |
| |
| +if(EIGEN_BUILD_LAPACK AND EIGEN_BUILD_BLAS) |
| + |
| include(CheckLanguage) |
| check_language(Fortran) |
| if(CMAKE_Fortran_COMPILER) |
| @@ -450,3 +452,6 @@ if(EXISTS ${eigen_full_path_to_testing_lapack}) |
| |
| endif() |
| |
| +elseif(EIGEN_BUILD_LAPACK AND NOT EIGEN_BUILD_BLAS) |
| + message(FATAL_ERROR "EIGEN_BUILD_LAPACK requires EIGEN_BUILD_BLAS") |
| +endif() #EIGEN_BUILD_LAPACK |
| -- |
| 2.45.2 |
| |