Warning, /acts/Detray/tests/integration_tests/device/cuda/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # This file is part of the ACTS project.
0002 #
0003 # Copyright (C) 2016 CERN for the benefit of the ACTS project
0004 #
0005 # This Source Code Form is subject to the terms of the Mozilla Public
0006 # License, v. 2.0. If a copy of the MPL was not distributed with this
0007 # file, You can obtain one at https://mozilla.org/MPL/2.0/.
0008
0009 message(STATUS "Building detray CUDA integration tests")
0010
0011 # C++17 support for CUDA requires CMake 3.18.
0012 cmake_minimum_required(VERSION 3.18)
0013
0014 # Enable CUDA as a language.
0015 enable_language(CUDA)
0016
0017 # Set the CUDA build flags.
0018 include(detray-compiler-options-cuda)
0019
0020 # make unit tests for multiple algebras
0021 # Currently vc and smatrix is not supported
0022 set(algebras "array")
0023
0024 if(DETRAY_EIGEN_PLUGIN)
0025 list(APPEND algebras "eigen")
0026 endif()
0027
0028 foreach(algebra ${algebras})
0029 # Unit tests for the selected algebra.
0030 detray_add_integration_test(cuda_${algebra}
0031 "propagator_cuda_kernel.hpp"
0032 "propagator_cuda.cpp"
0033 "propagator_cuda_kernel.cu"
0034 LINK_LIBRARIES GTest::gtest_main CUDA::cudart vecmem::cuda covfie::cuda
0035 detray::core detray::algebra_${algebra} detray::test_device
0036 detray::test_common
0037 )
0038
0039 target_compile_definitions(
0040 detray_integration_test_cuda_${algebra}
0041 PRIVATE ${algebra}=${algebra}
0042 )
0043
0044 set_tests_properties(
0045 detray_integration_test_cuda_${algebra}
0046 PROPERTIES
0047 DEPENDS "detray_unit_test_cuda;detray_unit_test_cuda_${algebra}"
0048 )
0049 endforeach()
0050
0051 # CUDA navigation validation for the telescope detector
0052 detray_add_integration_test(telescope_detector_cuda
0053 "telescope_navigation_validation.cpp"
0054 LINK_LIBRARIES GTest::gtest GTest::gtest_main
0055 vecmem::cuda detray::core_array
0056 detray::test_cuda detray::test_common
0057 )
0058
0059 set_tests_properties(
0060 detray_integration_test_telescope_detector_cuda
0061 PROPERTIES
0062 DEPENDS
0063 "detray_integration_test_cuda_array,detray_integration_test_telescope_detector"
0064 )
0065
0066 # CUDA navigation validation for the toy detector
0067 detray_add_integration_test(toy_detector_cuda
0068 "toy_detector_navigation_validation.cpp"
0069 LINK_LIBRARIES GTest::gtest GTest::gtest_main
0070 vecmem::cuda covfie::cuda detray::core_array
0071 detray::test_cuda detray::test_common
0072 )
0073
0074 set_tests_properties(
0075 detray_integration_test_toy_detector_cuda
0076 PROPERTIES
0077 DEPENDS
0078 "detray_integration_test_cuda_array,detray_integration_test_toy_detector"
0079 )
0080
0081 # CUDA navigation validation for the wire chamber
0082 detray_add_integration_test(wire_chamber_cuda
0083 "wire_chamber_navigation_validation.cpp"
0084 LINK_LIBRARIES GTest::gtest GTest::gtest_main
0085 vecmem::cuda detray::core_array
0086 detray::test_cuda detray::test_common
0087 )
0088
0089 set_tests_properties(
0090 detray_integration_test_wire_chamber_cuda
0091 PROPERTIES
0092 DEPENDS
0093 "detray_integration_test_cuda_array,detray_integration_test_wire_chamber"
0094 )