File: CMakeLists.txt

package info (click to toggle)
gridtools 2.3.9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 29,480 kB
  • sloc: cpp: 228,792; python: 17,561; javascript: 9,164; ansic: 4,101; sh: 850; makefile: 231; f90: 201
file content (30 lines) | stat: -rw-r--r-- 1,492 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function(add_fn_testees prefix)
    foreach(backend IN LISTS ARGN)
        set(tgt ${prefix}_${backend})
        add_library(${tgt} INTERFACE)
        target_link_libraries(${tgt} INTERFACE fn_${backend})
        string(TOUPPER ${backend} u_backend)
        target_compile_definitions(${tgt} INTERFACE GT_FN_${u_backend})
        if (backend STREQUAL gpu)
            target_link_libraries(${tgt} INTERFACE storage_gpu)
        elseif (backend STREQUAL naive)
            target_link_libraries(${tgt} INTERFACE storage_cpu_kfirst)
        endif()
    endforeach()
endfunction()
add_fn_testees(fn_testee ${GT_FN_BACKENDS})

function(gridtools_add_fn_regression_test tgt_name)
    gridtools_add_regression_test(${tgt_name} ${ARGN}
        LIB_PREFIX fn_testee
        KEYS ${GT_FN_BACKENDS}
        LABELS fn)
endfunction()

gridtools_add_fn_regression_test(fn_cartesian_horizontal_diffusion SOURCES fn_cartesian_horizontal_diffusion.cpp PERFTEST)
gridtools_add_fn_regression_test(fn_copy SOURCES fn_copy.cpp PERFTEST)
gridtools_add_fn_regression_test(fn_unstructured_nabla SOURCES fn_unstructured_nabla.cpp PERFTEST)
gridtools_add_fn_regression_test(fn_tridiagonal_solve SOURCES fn_tridiagonal_solve.cpp PERFTEST)
gridtools_add_fn_regression_test(fn_cartesian_vertical_advection SOURCES fn_cartesian_vertical_advection.cpp PERFTEST)
gridtools_add_fn_regression_test(fn_domain SOURCES fn_domain.cpp)
gridtools_add_fn_regression_test(fn_vertical_indirection SOURCES fn_vertical_indirection.cpp)