0001-Adds-new-CMake-Options-for-controlling-build-components.patch 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. From cf82186416d04ea5df2a397d8fe09dc78d40ca65 Mon Sep 17 00:00:00 2001
  2. From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com>
  3. Date: Sat, 5 Mar 2022 05:49:45 +0000
  4. Subject: [PATCH] Adds new CMake Options for controlling build components.
  5. [Retrieved from:
  6. https://gitlab.com/libeigen/eigen/-/commit/cf82186416d04ea5df2a397d8fe09dc78d40ca65]
  7. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  8. ---
  9. CMakeLists.txt | 6 ++++++
  10. blas/CMakeLists.txt | 3 ++-
  11. lapack/CMakeLists.txt | 5 +++++
  12. 3 files changed, 13 insertions(+), 1 deletion(-)
  13. diff --git a/CMakeLists.txt b/CMakeLists.txt
  14. index de1c23e91..0af36a53a 100644
  15. --- a/CMakeLists.txt
  16. +++ b/CMakeLists.txt
  17. @@ -477,6 +477,9 @@ if(EIGEN_BUILD_TESTING)
  18. add_subdirectory(failtest)
  19. endif()
  20. +include(CMakeDetermineFortranCompiler)
  21. +option(EIGEN_BUILD_BLAS "Toggles the building of the Eigen Blas library" ${CMAKE_Fortran_COMPILER})
  22. +option(EIGEN_BUILD_LAPACK "Toggles the building of the included Eigen LAPACK library" ${CMAKE_Fortran_COMPILER})
  23. if(EIGEN_LEAVE_TEST_IN_ALL_TARGET)
  24. add_subdirectory(blas)
  25. add_subdirectory(lapack)
  26. @@ -611,6 +614,8 @@ set_target_properties (eigen PROPERTIES EXPORT_NAME Eigen)
  27. install (TARGETS eigen EXPORT Eigen3Targets)
  28. +option(EIGEN_BUILD_CMAKE_PACKAGE "Enables the creation of EigenConfig.cmake and related files" ON)
  29. +if(EIGEN_BUILD_CMAKE_PACKAGE)
  30. configure_package_config_file (
  31. ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Eigen3Config.cmake.in
  32. ${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.cmake
  33. @@ -655,6 +660,7 @@ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.cmake
  34. # Add uninstall target
  35. add_custom_target ( uninstall
  36. COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/EigenUninstall.cmake)
  37. +endif()
  38. if (EIGEN_SPLIT_TESTSUITE)
  39. ei_split_testsuite("${EIGEN_SPLIT_TESTSUITE}")
  40. diff --git a/blas/CMakeLists.txt b/blas/CMakeLists.txt
  41. index 8d3cb86dc..c530957fb 100644
  42. --- a/blas/CMakeLists.txt
  43. +++ b/blas/CMakeLists.txt
  44. @@ -1,6 +1,7 @@
  45. project(EigenBlas CXX)
  46. +if(EIGEN_BUILD_BLAS)
  47. include(CheckLanguage)
  48. check_language(Fortran)
  49. if(CMAKE_Fortran_COMPILER)
  50. @@ -59,4 +60,4 @@ if(EIGEN_BUILD_TESTING)
  51. endif()
  52. endif()
  53. -
  54. +endif()
  55. diff --git a/lapack/CMakeLists.txt b/lapack/CMakeLists.txt
  56. index c8ca64001..8d6d75401 100644
  57. --- a/lapack/CMakeLists.txt
  58. +++ b/lapack/CMakeLists.txt
  59. @@ -1,5 +1,7 @@
  60. project(EigenLapack CXX)
  61. +if(EIGEN_BUILD_LAPACK AND EIGEN_BUILD_BLAS)
  62. +
  63. include(CheckLanguage)
  64. check_language(Fortran)
  65. if(CMAKE_Fortran_COMPILER)
  66. @@ -457,3 +459,6 @@ if(EXISTS ${eigen_full_path_to_testing_lapack})
  67. endif()
  68. +elseif(EIGEN_BUILD_LAPACK AND NOT EIGEN_BUILD_BLAS)
  69. + message(FATAL_ERROR "EIGEN_BUILD_LAPACK requires EIGEN_BUILD_BLAS")
  70. +endif() #EIGEN_BUILD_LAPACK
  71. --
  72. GitLab