summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-07-13 12:14:56 (GMT)
committerKitware Robot <kwrobot@kitware.com>2021-07-13 12:15:06 (GMT)
commit0698c156ec3d256066e82f052765a5bd96af6144 (patch)
tree600a369af23eab5cbcb8207378e0998356dffb88
parentac984cb5f75349fd5ed00cc52fbb5154b7bb1527 (diff)
parent31ac4b916525126c5d7f3a944a749b8989a456c5 (diff)
downloadCMake-0698c156ec3d256066e82f052765a5bd96af6144.zip
CMake-0698c156ec3d256066e82f052765a5bd96af6144.tar.gz
CMake-0698c156ec3d256066e82f052765a5bd96af6144.tar.bz2
Merge topic 'FindBLAS-LAPACK-All' into release-3.21
31ac4b9165 ci: Verify that Intel MKL is found when it is the only BLAS/LAPACK 57dcde19da Find{BLAS,LAPACK}: Avoid clobbering results when no vendor is requested Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6336
-rw-r--r--.gitlab/ci/configure_intelcompiler_common.cmake12
-rw-r--r--Modules/FindBLAS.cmake4
-rw-r--r--Modules/FindLAPACK.cmake4
-rw-r--r--Tests/FindBLAS/CMakeLists.txt14
-rw-r--r--Tests/FindBLAS/Test/CMakeLists.txt3
-rw-r--r--Tests/FindLAPACK/CMakeLists.txt14
-rw-r--r--Tests/FindLAPACK/Test/CMakeLists.txt3
7 files changed, 40 insertions, 14 deletions
diff --git a/.gitlab/ci/configure_intelcompiler_common.cmake b/.gitlab/ci/configure_intelcompiler_common.cmake
index df3a696..be175e4 100644
--- a/.gitlab/ci/configure_intelcompiler_common.cmake
+++ b/.gitlab/ci/configure_intelcompiler_common.cmake
@@ -1,6 +1,10 @@
-set(CMake_TEST_FindBLAS "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
-set(CMake_TEST_FindBLAS_STATIC "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
-set(CMake_TEST_FindLAPACK "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
-set(CMake_TEST_FindLAPACK_STATIC "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
+set(CMake_TEST_FindBLAS "All;Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
+set(CMake_TEST_FindBLAS_All "Intel10_64lp" CACHE STRING "")
+set(CMake_TEST_FindBLAS_STATIC "All;Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
+set(CMake_TEST_FindBLAS_STATIC_All "Intel10_64lp" CACHE STRING "")
+set(CMake_TEST_FindLAPACK "All;Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
+set(CMake_TEST_FindLAPACK_All "Intel10_64lp" CACHE STRING "")
+set(CMake_TEST_FindLAPACK_STATIC "All;Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
+set(CMake_TEST_FindLAPACK_STATIC_All "Intel10_64lp" CACHE STRING "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake
index e048318..726ff75 100644
--- a/Modules/FindBLAS.cmake
+++ b/Modules/FindBLAS.cmake
@@ -1110,8 +1110,8 @@ if(BLA_VENDOR MATCHES "EML" OR BLA_VENDOR STREQUAL "All")
endif()
# Fujitsu SSL2 Library?
-if(NOT BLAS_LIBRARIES AND
- BLA_VENDOR MATCHES "Fujitsu_SSL2" OR BLA_VENDOR STREQUAL "All")
+if(NOT BLAS_LIBRARIES
+ AND (BLA_VENDOR MATCHES "Fujitsu_SSL2" OR BLA_VENDOR STREQUAL "All"))
if(BLA_VENDOR STREQUAL "Fujitsu_SSL2BLAMP")
set(_ssl2_suffix BLAMP)
else()
diff --git a/Modules/FindLAPACK.cmake b/Modules/FindLAPACK.cmake
index b8a3363..3146e06 100644
--- a/Modules/FindLAPACK.cmake
+++ b/Modules/FindLAPACK.cmake
@@ -550,7 +550,7 @@ if(NOT LAPACK_NOT_FOUND_MESSAGE)
# Fujitsu SSL2 Library?
if(NOT LAPACK_LIBRARIES
- AND BLA_VENDOR MATCHES "Fujitsu_SSL2" OR BLA_VENDOR STREQUAL "All")
+ AND (BLA_VENDOR MATCHES "Fujitsu_SSL2" OR BLA_VENDOR STREQUAL "All"))
if(BLA_VENDOR STREQUAL "Fujitsu_SSL2BLAMP")
set(_ssl2_suffix BLAMP)
else()
@@ -582,7 +582,7 @@ if(NOT LAPACK_NOT_FOUND_MESSAGE)
# NVHPC Library?
if(NOT LAPACK_LIBRARIES
- AND BLA_VENDOR MATCHES "NVHPC" OR BLA_VENDOR STREQUAL "All")
+ AND (BLA_VENDOR MATCHES "NVHPC" OR BLA_VENDOR STREQUAL "All"))
check_lapack_libraries(
LAPACK_LIBRARIES
LAPACK
diff --git a/Tests/FindBLAS/CMakeLists.txt b/Tests/FindBLAS/CMakeLists.txt
index 31c701e..482cee8 100644
--- a/Tests/FindBLAS/CMakeLists.txt
+++ b/Tests/FindBLAS/CMakeLists.txt
@@ -6,6 +6,11 @@ foreach(variant IN LISTS CMake_TEST_FindBLAS)
set(vendor "${variant}")
set(alt_compiler "")
endif()
+ if(vendor STREQUAL "All" AND CMake_TEST_FindBLAS_All)
+ set(EXPECT_All "-DEXPECT_All=${CMake_TEST_FindBLAS_All}")
+ else()
+ set(EXPECT_All "")
+ endif()
add_test(NAME FindBLAS.Test_${variant} COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
@@ -13,7 +18,7 @@ foreach(variant IN LISTS CMake_TEST_FindBLAS)
"${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${variant}"
${build_generator_args}
--build-project TestFindBLAS
- --build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor}
+ --build-options ${build_options} ${alt_compiler} ${EXPECT_All} -DBLA_VENDOR=${vendor}
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endforeach()
@@ -26,6 +31,11 @@ foreach(variant IN LISTS CMake_TEST_FindBLAS_STATIC)
set(vendor "${variant}")
set(alt_compiler "")
endif()
+ if(vendor STREQUAL "All" AND CMake_TEST_FindBLAS_STATIC_All)
+ set(EXPECT_All "-DEXPECT_All=${CMake_TEST_FindBLAS_STATIC_All}")
+ else()
+ set(EXPECT_All "")
+ endif()
add_test(NAME FindBLAS.Test_${variant}_Static COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
@@ -33,7 +43,7 @@ foreach(variant IN LISTS CMake_TEST_FindBLAS_STATIC)
"${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${variant}_Static"
${build_generator_args}
--build-project TestFindBLAS
- --build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
+ --build-options ${build_options} ${alt_compiler} ${EXPECT_All} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endforeach()
diff --git a/Tests/FindBLAS/Test/CMakeLists.txt b/Tests/FindBLAS/Test/CMakeLists.txt
index 98e12d5..7379749 100644
--- a/Tests/FindBLAS/Test/CMakeLists.txt
+++ b/Tests/FindBLAS/Test/CMakeLists.txt
@@ -12,7 +12,8 @@ add_executable(test_var main.c)
target_link_libraries(test_var PRIVATE ${BLAS_LIBRARIES})
add_test(NAME test_var COMMAND test_var)
-if(BLA_VENDOR STREQUAL "Intel10_64lp")
+if((BLA_VENDOR STREQUAL "Intel10_64lp") OR
+ (BLA_VENDOR STREQUAL "All" AND EXPECT_All STREQUAL "Intel10_64lp"))
if(NOT BLAS_LIBRARIES MATCHES "^(-Wl,--start-group;)?[^;]*mkl_intel_lp64")
message(FATAL_ERROR "BLAS_LIBRARIES does not start in mkl_intel_lp64:\n ${BLAS_LIBRARIES}")
endif()
diff --git a/Tests/FindLAPACK/CMakeLists.txt b/Tests/FindLAPACK/CMakeLists.txt
index 26cfa87..535c7b6 100644
--- a/Tests/FindLAPACK/CMakeLists.txt
+++ b/Tests/FindLAPACK/CMakeLists.txt
@@ -6,6 +6,11 @@ foreach(variant IN LISTS CMake_TEST_FindLAPACK)
set(vendor "${variant}")
set(alt_compiler "")
endif()
+ if(vendor STREQUAL "All" AND CMake_TEST_FindLAPACK_All)
+ set(EXPECT_All "-DEXPECT_All=${CMake_TEST_FindLAPACK_All}")
+ else()
+ set(EXPECT_All "")
+ endif()
add_test(NAME FindLAPACK.Test_${variant} COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
@@ -13,7 +18,7 @@ foreach(variant IN LISTS CMake_TEST_FindLAPACK)
"${CMake_BINARY_DIR}/Tests/FindLAPACK/Test_${variant}"
${build_generator_args}
--build-project TestFindLAPACK
- --build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor}
+ --build-options ${build_options} ${alt_compiler} ${EXPECT_All} -DBLA_VENDOR=${vendor}
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endforeach()
@@ -26,6 +31,11 @@ foreach(variant IN LISTS CMake_TEST_FindLAPACK_STATIC)
set(vendor "${variant}")
set(alt_compiler "")
endif()
+ if(vendor STREQUAL "All" AND CMake_TEST_FindLAPACK_STATIC_All)
+ set(EXPECT_All "-DEXPECT_All=${CMake_TEST_FindLAPACK_STATIC_All}")
+ else()
+ set(EXPECT_All "")
+ endif()
add_test(NAME FindLAPACK.Test_${variant}_Static COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
@@ -33,7 +43,7 @@ foreach(variant IN LISTS CMake_TEST_FindLAPACK_STATIC)
"${CMake_BINARY_DIR}/Tests/FindLAPACK/Test_${variant}_Static"
${build_generator_args}
--build-project TestFindLAPACK
- --build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
+ --build-options ${build_options} ${alt_compiler} ${EXPECT_All} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endforeach()
diff --git a/Tests/FindLAPACK/Test/CMakeLists.txt b/Tests/FindLAPACK/Test/CMakeLists.txt
index bb33482..23a43ac 100644
--- a/Tests/FindLAPACK/Test/CMakeLists.txt
+++ b/Tests/FindLAPACK/Test/CMakeLists.txt
@@ -12,7 +12,8 @@ add_executable(test_var main.c)
target_link_libraries(test_var PRIVATE ${LAPACK_LIBRARIES})
add_test(NAME test_var COMMAND test_var)
-if(BLA_VENDOR STREQUAL "Intel10_64lp")
+if((BLA_VENDOR STREQUAL "Intel10_64lp") OR
+ (BLA_VENDOR STREQUAL "All" AND EXPECT_All STREQUAL "Intel10_64lp"))
if(NOT LAPACK_LIBRARIES MATCHES "^(-Wl,--start-group;)?[^;]*mkl_intel_lp64")
message(FATAL_ERROR "LAPACK_LIBRARIES does not start in mkl_intel_lp64:\n ${LAPACK_LIBRARIES}")
endif()