diff --git a/cmake/EigenConfigureTesting.cmake b/cmake/EigenConfigureTesting.cmake index 9cb3bb20b..add6aab53 100644 --- a/cmake/EigenConfigureTesting.cmake +++ b/cmake/EigenConfigureTesting.cmake @@ -11,6 +11,15 @@ add_custom_target(buildtests) add_custom_target(check COMMAND "ctest") add_dependencies(check buildtests) +# Convenience target for only building GPU tests. +add_custom_target(buildtests_gpu) +add_custom_target(check_gpu COMMAND "ctest" "--output-on-failure" + "--no-compress-output" + "--build-no-clean" + "-T" "test" + "-L" "gpu") +add_dependencies(check_gpu buildtests_gpu) + # check whether /bin/bash exists (disabled as not used anymore) # find_file(EIGEN_BIN_BASH_EXISTS "/bin/bash" PATHS "/" NO_DEFAULT_PATH) diff --git a/cmake/EigenTesting.cmake b/cmake/EigenTesting.cmake index bc47da86d..995354f05 100644 --- a/cmake/EigenTesting.cmake +++ b/cmake/EigenTesting.cmake @@ -23,7 +23,9 @@ macro(ei_add_test_internal testname testname_with_suffix) set(EIGEN_SUBTESTS_LIST "${EIGEN_SUBTESTS_LIST}${targetname}\n") set_property(GLOBAL PROPERTY EIGEN_SUBTESTS_LIST "${EIGEN_SUBTESTS_LIST}") + set(is_gpu_test OFF) if(EIGEN_ADD_TEST_FILENAME_EXTENSION STREQUAL cu) + set(is_gpu_test ON) if(EIGEN_TEST_HIP) hip_reset_flags() hip_add_executable(${targetname} ${filename} HIPCC_OPTIONS "-DEIGEN_USE_HIP ${ARGV2}") @@ -57,10 +59,10 @@ macro(ei_add_test_internal testname testname_with_suffix) add_executable(${targetname} ${filename}) endif() - if (targetname MATCHES "^eigen2_") - add_dependencies(eigen2_buildtests ${targetname}) - else() - add_dependencies(buildtests ${targetname}) + add_dependencies(buildtests ${targetname}) + + if (is_gpu_test) + add_dependencies(buildtests_gpu ${targetname}) endif() if(EIGEN_NO_ASSERTION_CHECKING) @@ -118,6 +120,11 @@ macro(ei_add_test_internal testname testname_with_suffix) add_dependencies("Build${current_subproject}" ${targetname}) set_property(TEST ${testname_with_suffix} PROPERTY LABELS "${current_subproject}") endif() + if (is_gpu_test) + # Add gpu tag for testing only GPU tests. + set_property(TEST ${testname_with_suffix} APPEND PROPERTY LABELS "gpu") + endif() + if(EIGEN_SYCL) # Force include of the SYCL file at the end to avoid errors. set_property(TARGET ${targetname} PROPERTY COMPUTECPP_INCLUDE_AFTER 1) @@ -775,8 +782,7 @@ macro(ei_add_smoke_tests smoke_test_list) if ("${test}" IN_LIST EIGEN_SUBTESTS_LIST) add_dependencies("${buildtarget}" "${test}") # Add label smoketest to be able to run smoketests using ctest - get_property(test_labels TEST ${test} PROPERTY LABELS) - set_property(TEST ${test} PROPERTY LABELS "${test_labels};smoketest") + set_property(TEST ${test} APPEND PROPERTY LABELS "smoketest") endif() endforeach() endmacro(ei_add_smoke_tests)