diff options
Diffstat (limited to 'Tests/FindBLAS')
-rw-r--r-- | Tests/FindBLAS/CMakeLists.txt | 51 | ||||
-rw-r--r-- | Tests/FindBLAS/add_BLAS_LAPACK_tests.cmake | 43 |
2 files changed, 45 insertions, 49 deletions
diff --git a/Tests/FindBLAS/CMakeLists.txt b/Tests/FindBLAS/CMakeLists.txt index 482cee8..00b254d 100644 --- a/Tests/FindBLAS/CMakeLists.txt +++ b/Tests/FindBLAS/CMakeLists.txt @@ -1,49 +1,2 @@ -foreach(variant IN LISTS CMake_TEST_FindBLAS) - if(variant MATCHES "^([^.]+)\\.(.*)$") - set(vendor "${CMAKE_MATCH_1}") - set(alt_compiler "-DCMAKE_C_COMPILER=${CMAKE_MATCH_2}") - else() - 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 - "${CMake_SOURCE_DIR}/Tests/FindBLAS/Test" - "${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${variant}" - ${build_generator_args} - --build-project TestFindBLAS - --build-options ${build_options} ${alt_compiler} ${EXPECT_All} -DBLA_VENDOR=${vendor} - --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> - ) -endforeach() - -foreach(variant IN LISTS CMake_TEST_FindBLAS_STATIC) - if(variant MATCHES "^([^.]+)\\.(.*)$") - set(vendor "${CMAKE_MATCH_1}") - set(alt_compiler "-DCMAKE_C_COMPILER=${CMAKE_MATCH_2}") - else() - 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 - "${CMake_SOURCE_DIR}/Tests/FindBLAS/Test" - "${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${variant}_Static" - ${build_generator_args} - --build-project TestFindBLAS - --build-options ${build_options} ${alt_compiler} ${EXPECT_All} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON - --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> - ) -endforeach() +include("${CMake_SOURCE_DIR}/Tests/FindBLAS/add_BLAS_LAPACK_tests.cmake") +add_BLAS_LAPACK_tests(CMake_TEST_FindBLAS) diff --git a/Tests/FindBLAS/add_BLAS_LAPACK_tests.cmake b/Tests/FindBLAS/add_BLAS_LAPACK_tests.cmake new file mode 100644 index 0000000..db33404 --- /dev/null +++ b/Tests/FindBLAS/add_BLAS_LAPACK_tests.cmake @@ -0,0 +1,43 @@ +function(add_BLAS_LAPACK_tests var) + if(var MATCHES "^CMake_TEST_Find(BLAS|LAPACK)$") + set(package "${CMAKE_MATCH_1}") + else() + message(FATAL_ERROR "Test list variable '${var}' not supported.") + endif() + + set(all "") + set(compiler "") + set(static "") + + foreach(variant IN LISTS ${var}) + if(variant MATCHES "^(all|compiler|static)=(.*)$") + set("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}") + continue() + elseif(variant MATCHES "^([^=]+)=(.*)$") + message(FATAL_ERROR "Unknown variable '${variant}'") + endif() + set(variant_name "${variant}") + set(variant_options "-DBLA_VENDOR=${variant}") + if(variant STREQUAL "All" AND all) + list(APPEND variant_options "-DEXPECT_All=${all}") + endif() + if(compiler) + string(APPEND variant_name "_${compiler}") + list(APPEND variant_options "-DCMAKE_C_COMPILER=${compiler}") + endif() + if(static) + string(APPEND variant_name "_Static") + list(APPEND variant_options "-DBLA_STATIC=ON") + endif() + add_test(NAME Find${package}.Test_${variant_name} COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/Find${package}/Test" + "${CMake_BINARY_DIR}/Tests/Find${package}/Test_${variant_name}" + ${build_generator_args} + --build-project TestFind${package} + --build-options ${build_options} ${variant_options} + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) + endforeach() +endfunction() |