ci: Verify that Intel MKL is found when it is the only BLAS/LAPACK

Issue: #22403
This commit is contained in:
Brad King 2021-07-12 11:08:35 -04:00
parent 57dcde19da
commit 31ac4b9165
5 changed files with 36 additions and 10 deletions

View File

@ -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")

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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()