|
1 |
| -string(COMPARE EQUAL "${GTEST_INCLUDE_DIR}" "" no_gtest_incl_dir) |
2 |
| -string(COMPARE EQUAL "${GTEST_LIB_DIR}" "" no_gtest_lib_dir) |
| 1 | +find_package(GTest REQUIRED) |
| 2 | +# We need thread support for gtest |
| 3 | +find_package(Threads REQUIRED) |
3 | 4 |
|
4 |
| -if(${no_gtest_incl_dir} OR ${no_gtest_lib_dir}) |
5 |
| - message(WARNING |
6 |
| - "GTest is needed to test dpCtl's C API test cases. Pass in \ |
7 |
| - -DGTEST_INCLUDE_DIR and -DGTEST_LIB_DIR when you configure Cmake if\ |
8 |
| - you wish to run dpCtl backend tests." |
9 |
| - ) |
10 |
| -else() |
11 |
| - # We need thread support for gtest |
12 |
| - find_package(Threads REQUIRED) |
| 5 | +# Emulate autotools like make check target to build tests |
| 6 | +set(CMAKE_CTEST_COMMAND ctest --progress --output-on-failure -j 4) |
| 7 | +add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}) |
| 8 | +enable_testing() |
13 | 9 |
|
14 |
| - set(CMAKE_CTEST_COMMAND ctest -V) |
| 10 | +include_directories(${CMAKE_SOURCE_DIR}/include) |
| 11 | +link_directories(${GTEST_LIB_DIR}) |
15 | 12 |
|
16 |
| - # Emulate autotools like make check target to build tests |
17 |
| - add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}) |
18 |
| - enable_testing() |
19 |
| - |
20 |
| - include_directories(${GTEST_INCLUDE_DIR}) |
21 |
| - include_directories(../include) |
22 |
| - |
23 |
| - link_directories(${GTEST_LIB_DIR}) |
24 |
| - |
25 |
| - set(DPCTL_C_API_TEST_CASES |
26 |
| - test_sycl_device_interface |
27 |
| - test_sycl_kernel_interface |
28 |
| - test_sycl_platform_interface |
29 |
| - test_sycl_program_interface |
30 |
| - test_sycl_queue_interface |
31 |
| - test_sycl_queue_manager |
32 |
| - test_sycl_usm_interface |
33 |
| - ) |
34 |
| - |
35 |
| - # Copy the spir-v input files to test build directory |
36 |
| - set(spirv-test-files |
| 13 | +# Copy the spir-v input files to test build directory |
| 14 | +set(spirv-test-files |
37 | 15 | multi_kernel.spv
|
38 |
| - ) |
39 |
| - foreach(tf ${spirv-test-files}) |
| 16 | +) |
| 17 | +foreach(tf ${spirv-test-files}) |
40 | 18 | file(COPY ${tf} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
41 |
| - endforeach() |
42 |
| - |
43 |
| - foreach(TEST_CASE ${DPCTL_C_API_TEST_CASES}) |
44 |
| - add_executable(${TEST_CASE} EXCLUDE_FROM_ALL ${TEST_CASE}.cpp) |
45 |
| - target_link_libraries( |
46 |
| - ${TEST_CASE} ${CMAKE_THREAD_LIBS_INIT} gtest DPPLSyclInterface |
47 |
| - ) |
48 |
| - add_test(NAME ${TEST_CASE} COMMAND ${TEST_CASE}) |
49 |
| - add_dependencies(check ${TEST_CASE}) |
50 |
| - endforeach() |
51 |
| -endif() |
| 19 | +endforeach() |
| 20 | + |
| 21 | +file(GLOB_RECURSE sources ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) |
| 22 | +add_executable(dpctl_c_api_tests EXCLUDE_FROM_ALL ${sources}) |
| 23 | +target_link_libraries( |
| 24 | + dpctl_c_api_tests ${CMAKE_THREAD_LIBS_INIT} GTest::GTest DPPLSyclInterface |
| 25 | +) |
| 26 | +gtest_discover_tests(dpctl_c_api_tests) |
| 27 | +add_dependencies(check dpctl_c_api_tests) |
0 commit comments