aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/SpectralSolver
diff options
context:
space:
mode:
authorGravatar Axel Huebl <axel.huebl@plasma.ninja> 2020-06-12 17:51:00 -0700
committerGravatar GitHub <noreply@github.com> 2020-06-12 17:51:00 -0700
commitc493991df0a583dc953feb652dee32633f97fd34 (patch)
tree0182f506a9e3c4441358b8ab8cabffe60c1ebef0 /Source/FieldSolver/SpectralSolver
parentdbd3adbce2aa5727e346bc387cef57ac23fc1b14 (diff)
downloadWarpX-c493991df0a583dc953feb652dee32633f97fd34.tar.gz
WarpX-c493991df0a583dc953feb652dee32633f97fd34.tar.zst
WarpX-c493991df0a583dc953feb652dee32633f97fd34.zip
Add CMake Scripts (#759)
* [skip travis] CMake: Add CMake Scripts This add CMake scripts for the CMake build system generator. * CUDA Support Achieved Fastest compile via: cmake .. -DENABLE_CUDA=ON -DCUDA_ARCH=6.0 * CMake: openPMD & QED * CMake: Dimension Support WarpX_DIMS=2,3,RZ * CCache & Out-of-Source Enable CCache when found and prevent in-root builds (in-source okay-ish). * CMake: CUDA C++ Language Minimum * Add new Files * CI: Migrate macOS to CMake * Fortran: Enable Because Transitive ... for now :) * CI: Migrate Linux ICC to CMake * CI: Verbose Make * CMake: Add Missing PSATD Sources * CMake: PSATD, Compute, Precision, Clean
Diffstat (limited to 'Source/FieldSolver/SpectralSolver')
-rw-r--r--Source/FieldSolver/SpectralSolver/CMakeLists.txt30
-rw-r--r--Source/FieldSolver/SpectralSolver/SpectralAlgorithms/CMakeLists.txt15
-rw-r--r--Source/FieldSolver/SpectralSolver/SpectralHankelTransform/CMakeLists.txt5
-rw-r--r--Source/FieldSolver/SpectralSolver/SpectralHankelTransform/Make.package8
4 files changed, 53 insertions, 5 deletions
diff --git a/Source/FieldSolver/SpectralSolver/CMakeLists.txt b/Source/FieldSolver/SpectralSolver/CMakeLists.txt
new file mode 100644
index 000000000..34012aabd
--- /dev/null
+++ b/Source/FieldSolver/SpectralSolver/CMakeLists.txt
@@ -0,0 +1,30 @@
+target_sources(WarpX
+ PRIVATE
+ SpectralFieldData.cpp
+ SpectralKSpace.cpp
+ SpectralSolver.cpp
+)
+
+if(ENABLE_CUDA)
+ target_sources(WarpX
+ PRIVATE
+ WrapCuFFT.cpp
+ )
+else()
+ target_sources(WarpX
+ PRIVATE
+ WrapFFTW.cpp
+ )
+endif()
+
+if(WarpX_DIMS STREQUAL RZ)
+ target_sources(WarpX
+ PRIVATE
+ SpectralSolverRZ.cpp
+ SpectralFieldDataRZ.cpp
+ SpectralKSpaceRZ.cpp
+ )
+ add_subdirectory(SpectralHankelTransform)
+endif()
+
+add_subdirectory(SpectralAlgorithms)
diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/CMakeLists.txt b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/CMakeLists.txt
new file mode 100644
index 000000000..b80091aaf
--- /dev/null
+++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/CMakeLists.txt
@@ -0,0 +1,15 @@
+target_sources(WarpX
+ PRIVATE
+ GalileanAlgorithm.cpp
+ PMLPsatdAlgorithm.cpp
+ PsatdAlgorithm.cpp
+ SpectralBaseAlgorithm.cpp
+)
+
+if(WarpX_DIMS STREQUAL RZ)
+ target_sources(WarpX
+ PRIVATE
+ SpectralBaseAlgorithmRZ.cpp
+ PsatdAlgorithmRZ.cpp
+ )
+endif()
diff --git a/Source/FieldSolver/SpectralSolver/SpectralHankelTransform/CMakeLists.txt b/Source/FieldSolver/SpectralSolver/SpectralHankelTransform/CMakeLists.txt
new file mode 100644
index 000000000..858ffb137
--- /dev/null
+++ b/Source/FieldSolver/SpectralSolver/SpectralHankelTransform/CMakeLists.txt
@@ -0,0 +1,5 @@
+target_sources(WarpX
+ PRIVATE
+ SpectralHankelTransformer.cpp
+ HankelTransform.cpp
+)
diff --git a/Source/FieldSolver/SpectralSolver/SpectralHankelTransform/Make.package b/Source/FieldSolver/SpectralSolver/SpectralHankelTransform/Make.package
index a3c22d64a..8bb1d7ef7 100644
--- a/Source/FieldSolver/SpectralSolver/SpectralHankelTransform/Make.package
+++ b/Source/FieldSolver/SpectralSolver/SpectralHankelTransform/Make.package
@@ -1,6 +1,4 @@
-ifeq ($(USE_RZ),TRUE)
- CEXE_sources += SpectralHankelTransformer.cpp
- CEXE_sources += HankelTransform.cpp
+CEXE_sources += SpectralHankelTransformer.cpp
+CEXE_sources += HankelTransform.cpp
- VPATH_LOCATIONS += $(WARPX_HOME)/Source/FieldSolver/SpectralSolver/SpectralHankelTransform
-endif
+VPATH_LOCATIONS += $(WARPX_HOME)/Source/FieldSolver/SpectralSolver/SpectralHankelTransform