aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/SpectralSolver/CMakeLists.txt
blob: 42ebe2be9470f6693e67fb2d827c0f3fa8c62627 (plain) (blame)
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
31
32
foreach(D IN LISTS WarpX_DIMS)
    warpx_set_suffix_dims(SD ${D})
    target_sources(lib_${SD}
      PRIVATE
        SpectralFieldData.cpp
        SpectralKSpace.cpp
        SpectralSolver.cpp
    )

    if(WarpX_COMPUTE STREQUAL CUDA)
        target_sources(ablastr_${SD} PRIVATE WrapCuFFT.cpp)
    elseif(WarpX_COMPUTE STREQUAL HIP)
        target_sources(ablastr_${SD} PRIVATE WrapRocFFT.cpp)
    else()
        target_sources(ablastr_${SD} PRIVATE WrapFFTW.cpp)
    endif()

    if(D STREQUAL "RZ")
        target_sources(lib_${SD}
          PRIVATE
            SpectralSolverRZ.cpp
            SpectralFieldDataRZ.cpp
            SpectralKSpaceRZ.cpp
            SpectralBinomialFilter.cpp
        )
    endif()
endforeach()

if(RZ IN_LIST WarpX_DIMS)
    add_subdirectory(SpectralHankelTransform)
endif()
add_subdirectory(SpectralAlgorithms)