brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · 711621d Raw
78 lines · plain
1# CMakeLists.txt file for unit testing OpenMP offloading runtime library.2if(NOT OPENMP_TEST_COMPILER_ID STREQUAL "Clang" OR3   OPENMP_TEST_COMPILER_VERSION VERSION_LESS 6.0.0)4  message(STATUS "Can only test with Clang compiler in version 6.0.0 or later.")5  message(WARNING "The check-offload target will not be available!")6  return()7endif()8 9if(LIBOMPTARGET_ENABLE_DEBUG)10  set(LIBOMPTARGET_DEBUG True)11else()12  set(LIBOMPTARGET_DEBUG False)13endif()14 15if (NOT OPENMP_STANDALONE_BUILD AND "compiler-rt" IN_LIST LLVM_ENABLE_RUNTIMES)16  set(LIBOMPTARGET_TEST_GPU_PGO True)17else()18  set(LIBOMPTARGET_TEST_GPU_PGO False)19endif()20 21# Replace the space from user's input with ";" in case that CMake add escape22# char into the lit command.23string(REPLACE " " ";" LIBOMPTARGET_LIT_ARG_LIST "${LIBOMPTARGET_LIT_ARGS}")24 25find_package(CUDAToolkit QUIET)26if(CUDAToolkit_FOUND)27  get_filename_component(CUDA_ROOT "${CUDAToolkit_BIN_DIR}" DIRECTORY ABSOLUTE)28  get_filename_component(CUDA_LIBDIR "${CUDA_cudart_static_LIBRARY}" DIRECTORY)29endif()30 31set(OMP_DEPEND)32if(TARGET omp)33  set(OMP_DEPEND omp)34endif()35 36string(REGEX MATCHALL "([^\ ]+\ |[^\ ]+$)" SYSTEM_TARGETS "${LIBOMPTARGET_SYSTEM_TARGETS}")37foreach(CURRENT_TARGET IN LISTS SYSTEM_TARGETS)38  string(STRIP "${CURRENT_TARGET}" CURRENT_TARGET)39 40  add_offload_testsuite(check-libomptarget-${CURRENT_TARGET}41    "Running libomptarget tests"42    ${CMAKE_CURRENT_BINARY_DIR}/${CURRENT_TARGET}43    DEPENDS omptarget ${OMP_DEPEND} ${LIBOMPTARGET_TESTED_PLUGINS}44    ARGS ${LIBOMPTARGET_LIT_ARG_LIST})45  list(APPEND LIBOMPTARGET_LIT_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CURRENT_TARGET})46 47  # Configure the lit.site.cfg.in file48  set(AUTO_GEN_COMMENT "## Autogenerated by libomptarget configuration.\n# Do not edit!")49  configure_file(lit.site.cfg.in ${CURRENT_TARGET}/lit.site.cfg @ONLY)50endforeach()51 52 53add_offload_testsuite(check-libomptarget54  "Running libomptarget tests"55  ${LIBOMPTARGET_LIT_TESTSUITES}56  EXCLUDE_FROM_CHECK_ALL57  DEPENDS llvm-offload-device-info omptarget ${OMP_DEPEND} ${LIBOMPTARGET_TESTED_PLUGINS}58  ARGS ${LIBOMPTARGET_LIT_ARG_LIST})59 60add_offload_testsuite(check-offload61  "Running libomptarget tests"62  ${LIBOMPTARGET_LIT_TESTSUITES}63  EXCLUDE_FROM_CHECK_ALL64  DEPENDS llvm-offload-device-info omptarget ${OMP_DEPEND} ${LIBOMPTARGET_TESTED_PLUGINS}65  ARGS ${LIBOMPTARGET_LIT_ARG_LIST})66 67# Add liboffload unit tests - the test binary will run on all available devices68configure_lit_site_cfg(69  ${CMAKE_CURRENT_SOURCE_DIR}/unit/lit.site.cfg.in70  ${CMAKE_CURRENT_BINARY_DIR}/unit/lit.site.cfg71  MAIN_CONFIG72  ${CMAKE_CURRENT_SOURCE_DIR}/unit/lit.cfg.py)73 74add_lit_testsuite(check-offload-unit "Running offload unittest suites"75  ${CMAKE_CURRENT_BINARY_DIR}/unit76  EXCLUDE_FROM_CHECK_ALL77  DEPENDS LLVMOffload OffloadUnitTests)78