From cf82186416d04ea5df2a397d8fe09dc78d40ca65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= 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 --- 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 de1c23e91..0af36a53a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -477,6 +477,9 @@ if(EIGEN_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) @@ -611,6 +614,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 @@ -655,6 +660,7 @@ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.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 8d3cb86dc..c530957fb 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(EIGEN_BUILD_TESTING) endif() endif() - +endif() diff --git a/lapack/CMakeLists.txt b/lapack/CMakeLists.txt index c8ca64001..8d6d75401 100644 --- a/lapack/CMakeLists.txt +++ b/lapack/CMakeLists.txt @@ -1,5 +1,7 @@ project(EigenLapack CXX) +if(EIGEN_BUILD_LAPACK AND EIGEN_BUILD_BLAS) + include(CheckLanguage) check_language(Fortran) if(CMAKE_Fortran_COMPILER) @@ -457,3 +459,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 -- GitLab