2017-11-29 19:31:52 +00:00
|
|
|
# CMakeLists.txt file for unit testing OpenMP offloading runtime library.
|
2025-02-02 16:55:39 +01:00
|
|
|
if(NOT OPENMP_TEST_COMPILER_ID STREQUAL "Clang" OR
|
|
|
|
OPENMP_TEST_COMPILER_VERSION VERSION_LESS 6.0.0)
|
2024-05-17 13:24:32 -05:00
|
|
|
message(STATUS "Can only test with Clang compiler in version 6.0.0 or later.")
|
2024-08-31 20:06:41 +08:00
|
|
|
message(WARNING "The check-offload target will not be available!")
|
2017-11-30 17:08:31 +00:00
|
|
|
return()
|
|
|
|
endif()
|
2017-01-25 21:27:24 +00:00
|
|
|
|
2019-03-26 15:19:15 +00:00
|
|
|
if(LIBOMPTARGET_ENABLE_DEBUG)
|
2017-08-14 15:09:59 +00:00
|
|
|
set(LIBOMPTARGET_DEBUG True)
|
|
|
|
else()
|
|
|
|
set(LIBOMPTARGET_DEBUG False)
|
|
|
|
endif()
|
|
|
|
|
2024-08-22 01:10:54 -05:00
|
|
|
if (NOT OPENMP_STANDALONE_BUILD AND "compiler-rt" IN_LIST LLVM_ENABLE_RUNTIMES)
|
|
|
|
set(LIBOMPTARGET_TEST_GPU_PGO True)
|
|
|
|
else()
|
|
|
|
set(LIBOMPTARGET_TEST_GPU_PGO False)
|
|
|
|
endif()
|
|
|
|
|
2021-07-18 21:54:05 -04:00
|
|
|
# Replace the space from user's input with ";" in case that CMake add escape
|
|
|
|
# char into the lit command.
|
|
|
|
string(REPLACE " " ";" LIBOMPTARGET_LIT_ARG_LIST "${LIBOMPTARGET_LIT_ARGS}")
|
|
|
|
|
2024-06-21 10:08:05 -05:00
|
|
|
find_package(CUDAToolkit QUIET)
|
|
|
|
if(CUDAToolkit_FOUND)
|
|
|
|
get_filename_component(CUDA_ROOT "${CUDAToolkit_BIN_DIR}" DIRECTORY ABSOLUTE)
|
|
|
|
get_filename_component(CUDA_LIBDIR "${CUDA_cudart_static_LIBRARY}" DIRECTORY)
|
|
|
|
endif()
|
|
|
|
|
2024-12-04 11:27:37 +00:00
|
|
|
set(OMP_DEPEND)
|
|
|
|
if(TARGET omp)
|
|
|
|
set(OMP_DEPEND omp)
|
|
|
|
endif()
|
|
|
|
|
2021-04-27 12:23:18 +02:00
|
|
|
string(REGEX MATCHALL "([^\ ]+\ |[^\ ]+$)" SYSTEM_TARGETS "${LIBOMPTARGET_SYSTEM_TARGETS}")
|
|
|
|
foreach(CURRENT_TARGET IN LISTS SYSTEM_TARGETS)
|
|
|
|
string(STRIP "${CURRENT_TARGET}" CURRENT_TARGET)
|
2023-06-30 22:08:42 -05:00
|
|
|
|
2024-04-22 09:51:33 -07:00
|
|
|
add_offload_testsuite(check-libomptarget-${CURRENT_TARGET}
|
2021-07-18 13:16:03 -04:00
|
|
|
"Running libomptarget tests"
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/${CURRENT_TARGET}
|
2024-12-04 11:27:37 +00:00
|
|
|
DEPENDS omptarget ${OMP_DEPEND} ${LIBOMPTARGET_TESTED_PLUGINS}
|
2021-07-18 21:54:05 -04:00
|
|
|
ARGS ${LIBOMPTARGET_LIT_ARG_LIST})
|
2021-04-27 12:23:18 +02:00
|
|
|
list(APPEND LIBOMPTARGET_LIT_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CURRENT_TARGET})
|
2017-11-29 19:31:52 +00:00
|
|
|
|
2021-04-27 12:23:18 +02:00
|
|
|
# Configure the lit.site.cfg.in file
|
|
|
|
set(AUTO_GEN_COMMENT "## Autogenerated by libomptarget configuration.\n# Do not edit!")
|
|
|
|
configure_file(lit.site.cfg.in ${CURRENT_TARGET}/lit.site.cfg @ONLY)
|
|
|
|
endforeach()
|
|
|
|
|
2023-06-28 15:02:37 -05:00
|
|
|
|
2024-04-22 09:51:33 -07:00
|
|
|
add_offload_testsuite(check-libomptarget
|
|
|
|
"Running libomptarget tests"
|
|
|
|
${LIBOMPTARGET_LIT_TESTSUITES}
|
|
|
|
EXCLUDE_FROM_CHECK_ALL
|
2024-12-04 11:27:37 +00:00
|
|
|
DEPENDS llvm-offload-device-info omptarget ${OMP_DEPEND} ${LIBOMPTARGET_TESTED_PLUGINS}
|
2024-04-22 09:51:33 -07:00
|
|
|
ARGS ${LIBOMPTARGET_LIT_ARG_LIST})
|
|
|
|
|
|
|
|
add_offload_testsuite(check-offload
|
2021-07-18 13:16:03 -04:00
|
|
|
"Running libomptarget tests"
|
|
|
|
${LIBOMPTARGET_LIT_TESTSUITES}
|
|
|
|
EXCLUDE_FROM_CHECK_ALL
|
2024-12-04 11:27:37 +00:00
|
|
|
DEPENDS llvm-offload-device-info omptarget ${OMP_DEPEND} ${LIBOMPTARGET_TESTED_PLUGINS}
|
2021-07-18 21:54:05 -04:00
|
|
|
ARGS ${LIBOMPTARGET_LIT_ARG_LIST})
|