diff options
author | Brad King <brad.king@kitware.com> | 2021-07-13 12:14:56 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-07-13 12:15:06 (GMT) |
commit | 0698c156ec3d256066e82f052765a5bd96af6144 (patch) | |
tree | 600a369af23eab5cbcb8207378e0998356dffb88 | |
parent | ac984cb5f75349fd5ed00cc52fbb5154b7bb1527 (diff) | |
parent | 31ac4b916525126c5d7f3a944a749b8989a456c5 (diff) | |
download | CMake-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.cmake | 12 | ||||
-rw-r--r-- | Modules/FindBLAS.cmake | 4 | ||||
-rw-r--r-- | Modules/FindLAPACK.cmake | 4 | ||||
-rw-r--r-- | Tests/FindBLAS/CMakeLists.txt | 14 | ||||
-rw-r--r-- | Tests/FindBLAS/Test/CMakeLists.txt | 3 | ||||
-rw-r--r-- | Tests/FindLAPACK/CMakeLists.txt | 14 | ||||
-rw-r--r-- | Tests/FindLAPACK/Test/CMakeLists.txt | 3 |
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() |