openPMD-api 0.15.2__tar.gz → 0.16.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/CMakeLists.txt +54 -345
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/PKG-INFO +47 -28
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/README.md +29 -26
- openpmd_api-0.16.1/cmake/dependencies/catch.cmake +74 -0
- openpmd_api-0.16.1/cmake/dependencies/json.cmake +74 -0
- openpmd_api-0.16.1/cmake/dependencies/pybind11.cmake +101 -0
- openpmd_api-0.16.1/cmake/dependencies/toml11.cmake +82 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/10_streaming_read.cpp +12 -9
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/10_streaming_write.py +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/11_particle_dataframe.py +21 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/12_span_write.cpp +24 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/13_write_dynamic_configuration.cpp +1 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/13_write_dynamic_configuration.py +1 -4
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/1_structure.cpp +1 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/2_read_serial.cpp +15 -12
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/2_read_serial.py +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/2a_read_thetaMode_serial.cpp +2 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/2a_read_thetaMode_serial.py +2 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/3_write_serial.cpp +1 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/3_write_serial.py +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/4_read_parallel.cpp +15 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/5_write_parallel.cpp +22 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/5_write_parallel.py +25 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/7_extended_write_serial.cpp +5 -15
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/7_extended_write_serial.py +5 -10
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/8_benchmark_parallel.cpp +5 -4
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/8a_benchmark_write_parallel.cpp +5 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/8b_benchmark_read_parallel.cpp +2 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/9_particle_write_serial.py +4 -4
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/ChunkInfo.hpp +60 -0
- openpmd_api-0.16.1/include/openPMD/ChunkInfo_internal.hpp +67 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/Dataset.hpp +11 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/Datatype.hpp +53 -1
- openpmd_api-0.16.1/include/openPMD/Datatype.tpp +258 -0
- openpmd_api-0.16.1/include/openPMD/DatatypeMacros.hpp +115 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/Error.hpp +4 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/ADIOS/ADIOS2Auxiliary.hpp +95 -2
- openpmd_api-0.16.1/include/openPMD/IO/ADIOS/ADIOS2File.hpp +485 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/ADIOS/ADIOS2FilePosition.hpp +5 -10
- openpmd_api-0.16.1/include/openPMD/IO/ADIOS/ADIOS2IOHandler.hpp +855 -0
- openpmd_api-0.16.1/include/openPMD/IO/ADIOS/macros.hpp +42 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/AbstractIOHandler.hpp +41 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/AbstractIOHandlerImpl.hpp +15 -13
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/AbstractIOHandlerImplCommon.hpp +10 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/DummyIOHandler.hpp +1 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/Format.hpp +2 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/HDF5/HDF5Auxiliary.hpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/HDF5/HDF5IOHandlerImpl.hpp +15 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/HDF5/ParallelHDF5IOHandler.hpp +2 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/HDF5/ParallelHDF5IOHandlerImpl.hpp +2 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/IOTask.hpp +54 -35
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/JSON/JSONIOHandler.hpp +19 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/JSON/JSONIOHandlerImpl.hpp +61 -20
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/Iteration.hpp +42 -15
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/Mesh.hpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/ParticleSpecies.hpp +9 -18
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/ReadIterations.hpp +2 -21
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/Record.hpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/RecordComponent.hpp +108 -26
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/RecordComponent.tpp +64 -38
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/Series.hpp +188 -20
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/ThrowError.hpp +2 -11
- openpmd_api-0.16.1/include/openPMD/UndefDatatypeMacros.hpp +24 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/WriteIterations.hpp +5 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/JSON_internal.hpp +19 -4
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/Mpi.hpp +50 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/TypeTraits.hpp +77 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/UniquePtr.hpp +21 -18
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/Variant.hpp +14 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/backend/Attributable.hpp +163 -17
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/backend/Attribute.hpp +128 -63
- openpmd_api-0.16.1/include/openPMD/backend/BaseRecord.hpp +1022 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/backend/BaseRecordComponent.hpp +78 -11
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/backend/Container.hpp +111 -58
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/backend/MeshRecordComponent.hpp +22 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/backend/PatchRecord.hpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/backend/PatchRecordComponent.hpp +52 -61
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/backend/Writable.hpp +39 -12
- openpmd_api-0.16.1/include/openPMD/binding/python/Common.hpp +59 -0
- openPMD-api-0.15.2/src/binding/python/Container.cpp → openpmd_api-0.16.1/include/openPMD/binding/python/Container.H +31 -72
- openpmd_api-0.16.1/include/openPMD/binding/python/Mpi.hpp +100 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/binding/python/Numpy.hpp +27 -7
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/binding/python/Pickle.hpp +5 -11
- openpmd_api-0.16.1/include/openPMD/binding/python/RecordComponent.hpp +110 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/cli/ls.hpp +2 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/config.hpp.in +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/version.hpp +2 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/openPMDConfig.cmake.in +7 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/openPMD_api.egg-info/PKG-INFO +47 -28
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/openPMD_api.egg-info/SOURCES.txt +15 -109
- openpmd_api-0.16.1/openPMD_api.egg-info/requires.txt +1 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/pyproject.toml +3 -2
- openpmd_api-0.16.1/requirements.txt +1 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/setup.py +26 -13
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/share/openPMD/download_samples.sh +4 -3
- openpmd_api-0.16.1/src/ChunkInfo.cpp +168 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/Dataset.cpp +46 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/Datatype.cpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/Error.cpp +5 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/Format.cpp +9 -23
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/ADIOS/ADIOS2Auxiliary.cpp +39 -0
- openpmd_api-0.16.1/src/IO/ADIOS/ADIOS2File.cpp +1355 -0
- openpmd_api-0.16.1/src/IO/ADIOS/ADIOS2IOHandler.cpp +2228 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/AbstractIOHandlerHelper.cpp +41 -51
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/AbstractIOHandlerImpl.cpp +136 -27
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/DummyIOHandler.cpp +5 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/HDF5/HDF5Auxiliary.cpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/HDF5/HDF5IOHandler.cpp +335 -125
- openpmd_api-0.16.1/src/IO/HDF5/ParallelHDF5IOHandler.cpp +454 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/IOTask.cpp +8 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/InvalidatableFile.cpp +3 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/JSON/JSONIOHandler.cpp +22 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/JSON/JSONIOHandlerImpl.cpp +382 -98
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/Iteration.cpp +54 -75
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/Mesh.cpp +26 -28
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/ParticlePatches.cpp +7 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/ParticleSpecies.cpp +15 -35
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/ReadIterations.cpp +20 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/Record.cpp +17 -23
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/RecordComponent.cpp +225 -83
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/Series.cpp +851 -151
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/WriteIterations.cpp +30 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/auxiliary/Filesystem.cpp +4 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/auxiliary/JSON.cpp +144 -17
- openpmd_api-0.16.1/src/auxiliary/Mpi.cpp +113 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/backend/Attributable.cpp +171 -53
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/backend/BaseRecordComponent.cpp +64 -10
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/backend/MeshRecordComponent.cpp +22 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/backend/PatchRecord.cpp +8 -8
- openpmd_api-0.16.1/src/backend/PatchRecordComponent.cpp +87 -0
- openpmd_api-0.16.1/src/backend/Writable.cpp +106 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/Access.cpp +1 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/Attributable.cpp +201 -61
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/BaseRecordComponent.cpp +6 -9
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/ChunkInfo.cpp +30 -7
- openpmd_api-0.16.1/src/binding/python/Dataset.cpp +92 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/Datatype.cpp +3 -7
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/Error.cpp +9 -4
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/Helper.cpp +3 -7
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/Iteration.cpp +38 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/IterationEncoding.cpp +1 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/Mesh.cpp +19 -14
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/MeshRecordComponent.cpp +30 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/ParticlePatches.cpp +9 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/ParticleSpecies.cpp +19 -9
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/PatchRecord.cpp +10 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/PatchRecordComponent.cpp +28 -10
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/Record.cpp +13 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/RecordComponent.cpp +267 -248
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/Series.cpp +121 -96
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/UnitDimension.cpp +1 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/openPMD.cpp +15 -16
- openpmd_api-0.16.1/src/binding/python/openpmd_api/DaskArray.py +149 -0
- openpmd_api-0.16.1/src/binding/python/openpmd_api/DataFrame.py +184 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/openpmd_api/__init__.py +4 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/openpmd_api/pipe/__main__.py +18 -43
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/cli/ls.cpp +1 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/config.cpp +15 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/version.cpp +3 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/AuxiliaryTest.cpp +4 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/CoreTest.cpp +203 -66
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/JSONTest.cpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/ParallelIOTest.cpp +484 -149
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/SerialIOTest.cpp +900 -619
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/python/unittest/API/APITest.py +75 -61
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/python/unittest/Test.py +2 -2
- openPMD-api-0.15.2/include/openPMD/Datatype.tpp +0 -356
- openPMD-api-0.15.2/include/openPMD/IO/ADIOS/ADIOS1Auxiliary.hpp +0 -279
- openPMD-api-0.15.2/include/openPMD/IO/ADIOS/ADIOS1FilePosition.hpp +0 -36
- openPMD-api-0.15.2/include/openPMD/IO/ADIOS/ADIOS1IOHandler.hpp +0 -81
- openPMD-api-0.15.2/include/openPMD/IO/ADIOS/ADIOS1IOHandlerImpl.hpp +0 -64
- openPMD-api-0.15.2/include/openPMD/IO/ADIOS/ADIOS2IOHandler.hpp +0 -1407
- openPMD-api-0.15.2/include/openPMD/IO/ADIOS/ADIOS2PreloadAttributes.hpp +0 -170
- openPMD-api-0.15.2/include/openPMD/IO/ADIOS/CommonADIOS1IOHandler.hpp +0 -131
- openPMD-api-0.15.2/include/openPMD/IO/ADIOS/ParallelADIOS1IOHandler.hpp +0 -69
- openPMD-api-0.15.2/include/openPMD/IO/ADIOS/ParallelADIOS1IOHandlerImpl.hpp +0 -71
- openPMD-api-0.15.2/include/openPMD/backend/BaseRecord.hpp +0 -377
- openPMD-api-0.15.2/openPMD_api.egg-info/requires.txt +0 -1
- openPMD-api-0.15.2/requirements.txt +0 -1
- openPMD-api-0.15.2/share/openPMD/cmake/FindADIOS.cmake +0 -311
- openPMD-api-0.15.2/share/openPMD/thirdParty/catch2/include/catch2/catch.hpp +0 -17976
- openPMD-api-0.15.2/share/openPMD/thirdParty/json/CMakeLists.txt +0 -164
- openPMD-api-0.15.2/share/openPMD/thirdParty/json/LICENSE.MIT +0 -21
- openPMD-api-0.15.2/share/openPMD/thirdParty/json/cmake/config.cmake.in +0 -15
- openPMD-api-0.15.2/share/openPMD/thirdParty/json/cmake/download_test_data.cmake +0 -56
- openPMD-api-0.15.2/share/openPMD/thirdParty/json/cmake/nlohmann_jsonConfigVersion.cmake.in +0 -20
- openPMD-api-0.15.2/share/openPMD/thirdParty/json/cmake/pkg-config.pc.in +0 -4
- openPMD-api-0.15.2/share/openPMD/thirdParty/json/nlohmann_json.natvis +0 -32
- openPMD-api-0.15.2/share/openPMD/thirdParty/json/single_include/nlohmann/json.hpp +0 -25447
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/CMakeLists.txt +0 -318
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/LICENSE +0 -29
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/MANIFEST.in +0 -5
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/README.rst +0 -180
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/attr.h +0 -678
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/buffer_info.h +0 -193
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/cast.h +0 -1663
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/chrono.h +0 -225
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/common.h +0 -2
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/complex.h +0 -74
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/detail/class.h +0 -735
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/detail/common.h +0 -1188
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/detail/descr.h +0 -158
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/detail/init.h +0 -428
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/detail/internals.h +0 -583
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/detail/type_caster_base.h +0 -1010
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/detail/typeid.h +0 -65
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/eigen.h +0 -713
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/embed.h +0 -279
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/eval.h +0 -156
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/functional.h +0 -130
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/gil.h +0 -239
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/iostream.h +0 -265
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/numpy.h +0 -1991
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/operators.h +0 -202
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/options.h +0 -76
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/pybind11.h +0 -2858
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/pytypes.h +0 -2467
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/stl/filesystem.h +0 -116
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/stl.h +0 -446
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/include/pybind11/stl_bind.h +0 -785
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/pybind11/__init__.py +0 -17
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/pybind11/__main__.py +0 -56
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/pybind11/_version.py +0 -12
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/pybind11/_version.pyi +0 -6
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/pybind11/commands.py +0 -37
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/pybind11/py.typed +0 -0
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/pybind11/setup_helpers.py +0 -504
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/pybind11/setup_helpers.pyi +0 -63
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/FindCatch.cmake +0 -72
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/FindEigen3.cmake +0 -86
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/FindPythonLibsNew.cmake +0 -285
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/JoinPaths.cmake +0 -23
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/check-style.sh +0 -44
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/cmake_uninstall.cmake.in +0 -23
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/codespell_ignore_lines_from_errors.py +0 -35
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/libsize.py +0 -36
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/make_changelog.py +0 -63
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/pybind11.pc.in +0 -7
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/pybind11Common.cmake +0 -385
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/pybind11Config.cmake.in +0 -231
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/pybind11NewTools.cmake +0 -256
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/pybind11Tools.cmake +0 -233
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/pyproject.toml +0 -3
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/setup_global.py.in +0 -61
- openPMD-api-0.15.2/share/openPMD/thirdParty/pybind11/tools/setup_main.py.in +0 -42
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/CMakeLists.txt +0 -116
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/LICENSE +0 -21
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/README.md +0 -1967
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/cmake/toml11Config.cmake.in +0 -2
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/color.hpp +0 -64
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/combinator.hpp +0 -306
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/comments.hpp +0 -472
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/datetime.hpp +0 -631
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/exception.hpp +0 -65
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/from.hpp +0 -19
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/get.hpp +0 -1119
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/into.hpp +0 -19
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/lexer.hpp +0 -293
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/literal.hpp +0 -113
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/macros.hpp +0 -121
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/parser.hpp +0 -2416
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/region.hpp +0 -417
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/result.hpp +0 -717
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/serializer.hpp +0 -922
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/source_location.hpp +0 -233
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/storage.hpp +0 -43
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/string.hpp +0 -228
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/traits.hpp +0 -328
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/types.hpp +0 -173
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/utility.hpp +0 -150
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/value.hpp +0 -2035
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml/version.hpp +0 -42
- openPMD-api-0.15.2/share/openPMD/thirdParty/toml11/toml.hpp +0 -38
- openPMD-api-0.15.2/src/ChunkInfo.cpp +0 -51
- openPMD-api-0.15.2/src/IO/ADIOS/ADIOS1IOHandler.cpp +0 -467
- openPMD-api-0.15.2/src/IO/ADIOS/ADIOS2IOHandler.cpp +0 -3818
- openPMD-api-0.15.2/src/IO/ADIOS/ADIOS2PreloadAttributes.cpp +0 -282
- openPMD-api-0.15.2/src/IO/ADIOS/CommonADIOS1IOHandler.cpp +0 -2054
- openPMD-api-0.15.2/src/IO/ADIOS/ParallelADIOS1IOHandler.cpp +0 -511
- openPMD-api-0.15.2/src/IO/HDF5/ParallelHDF5IOHandler.cpp +0 -207
- openPMD-api-0.15.2/src/backend/Container.cpp +0 -58
- openPMD-api-0.15.2/src/backend/PatchRecordComponent.cpp +0 -152
- openPMD-api-0.15.2/src/backend/Writable.cpp +0 -58
- openPMD-api-0.15.2/src/binding/python/BaseRecord.cpp +0 -65
- openPMD-api-0.15.2/src/binding/python/Dataset.cpp +0 -88
- openPMD-api-0.15.2/src/binding/python/openpmd_api/DaskArray.py +0 -143
- openPMD-api-0.15.2/src/binding/python/openpmd_api/DataFrame.py +0 -76
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/COPYING +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/COPYING.LESSER +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/MANIFEST.in +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/cmake/openPMDFunctions.cmake +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/10_streaming_read.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/10_streaming_write.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/12_span_write.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/3a_write_thetaMode_serial.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/3a_write_thetaMode_serial.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/3b_write_resizable_particles.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/3b_write_resizable_particles.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/4_read_parallel.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/examples/6_dump_filebased_series.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/DatatypeHelpers.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/Datatype_internal.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/AbstractFilePosition.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/AbstractIOHandlerHelper.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/Access.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/FlushParametersInternal.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/HDF5/HDF5FilePosition.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/HDF5/HDF5IOHandler.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/InvalidatableFile.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IO/JSON/JSONFilePosition.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/IterationEncoding.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/ParticlePatches.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/Span.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/Streaming.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/UnitDimension.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/Date.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/DerefDynamicCast.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/Environment.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/Export.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/Filesystem.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/JSON.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/Memory.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/OutOfRangeMsg.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/ShareRaw.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/ShareRawInternal.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/auxiliary/StringManip.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/backend/ParsePreference.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/benchmark/MemoryProfiler.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/benchmark/Timer.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/benchmark/mpi/BlockSlicer.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/benchmark/mpi/DatasetFiller.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/benchmark/mpi/MPIBenchmark.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/benchmark/mpi/MPIBenchmarkReport.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/benchmark/mpi/OneDimensionalBlockSlicer.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/benchmark/mpi/RandomDatasetFiller.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/binding/python/UnitDimension.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/helper/list_series.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/include/openPMD/openPMD.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/openPMD.pc.in +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/openPMD_api.egg-info/dependency_links.txt +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/openPMD_api.egg-info/entry_points.txt +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/openPMD_api.egg-info/not-zip-safe +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/openPMD_api.egg-info/top_level.txt +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/setup.cfg +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/share/openPMD/download_samples.ps1 +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/share/openPMD/validate_files.sh +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/AbstractIOHandler.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/FlushParams.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IO/JSON/JSONFilePosition.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/IterationEncoding.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/auxiliary/Date.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/benchmark/mpi/OneDimensionalBlockSlicer.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/openpmd_api/DaskDataFrame.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/openpmd_api/ls/__init__.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/openpmd_api/ls/__main__.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/binding/python/openpmd_api/pipe/__init__.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/cli/pipe.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/src/helper/list_series.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/CatchMain.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/CatchRunner.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/python/unittest/API/__init__.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/python/unittest/TestUtilities/TestUtilities.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/python/unittest/TestUtilities/__init__.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.1}/test/python/unittest/__init__.py +0 -0
|
@@ -1,30 +1,21 @@
|
|
|
1
1
|
# Preamble ####################################################################
|
|
2
2
|
#
|
|
3
|
-
cmake_minimum_required(VERSION 3.
|
|
3
|
+
cmake_minimum_required(VERSION 3.22.0)
|
|
4
4
|
|
|
5
|
-
project(openPMD VERSION 0.
|
|
5
|
+
project(openPMD VERSION 0.16.1) # LANGUAGES CXX
|
|
6
6
|
|
|
7
7
|
# the openPMD "markup"/"schema" standard version
|
|
8
8
|
set(openPMD_STANDARD_VERSION 1.1.0)
|
|
9
9
|
|
|
10
10
|
include(${openPMD_SOURCE_DIR}/cmake/openPMDFunctions.cmake)
|
|
11
11
|
|
|
12
|
-
list(APPEND CMAKE_MODULE_PATH "${openPMD_SOURCE_DIR}/share/openPMD/cmake")
|
|
13
|
-
|
|
14
12
|
|
|
15
13
|
# CMake policies ##############################################################
|
|
16
14
|
#
|
|
17
|
-
#
|
|
18
|
-
# https://cmake.org/cmake/help/
|
|
19
|
-
if(POLICY
|
|
20
|
-
cmake_policy(SET
|
|
21
|
-
endif()
|
|
22
|
-
|
|
23
|
-
# We use simple syntax in cmake_dependent_option, so we are compatible with the
|
|
24
|
-
# extended syntax in CMake 3.22+
|
|
25
|
-
# https://cmake.org/cmake/help/v3.22/policy/CMP0127.html
|
|
26
|
-
if(POLICY CMP0127)
|
|
27
|
-
cmake_policy(SET CMP0127 NEW)
|
|
15
|
+
# CMake 3.24+ tarball download robustness
|
|
16
|
+
# https://cmake.org/cmake/help/latest/module/ExternalProject.html#url
|
|
17
|
+
if(POLICY CMP0135)
|
|
18
|
+
cmake_policy(SET CMP0135 NEW)
|
|
28
19
|
endif()
|
|
29
20
|
|
|
30
21
|
|
|
@@ -144,17 +135,19 @@ endfunction()
|
|
|
144
135
|
|
|
145
136
|
openpmd_option(MPI "Parallel, Multi-Node I/O for clusters" AUTO)
|
|
146
137
|
openpmd_option(HDF5 "HDF5 backend (.h5 files)" AUTO)
|
|
147
|
-
openpmd_option(ADIOS1 "ADIOS1 backend (.bp files)" OFF)
|
|
148
138
|
openpmd_option(ADIOS2 "ADIOS2 backend (.bp files)" AUTO)
|
|
149
139
|
openpmd_option(PYTHON "Enable Python bindings" AUTO)
|
|
150
140
|
|
|
151
141
|
option(openPMD_INSTALL "Add installation targets" ON)
|
|
152
142
|
option(openPMD_INSTALL_RPATH "Add RPATHs to installed binaries" ON)
|
|
153
143
|
option(openPMD_HAVE_PKGCONFIG "Generate a .pc file for pkg-config" ON)
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
option(
|
|
157
|
-
option(
|
|
144
|
+
|
|
145
|
+
# superbuild control
|
|
146
|
+
option(openPMD_SUPERBUILD "Download & build extra dependencies" ON)
|
|
147
|
+
option(openPMD_USE_INTERNAL_CATCH "Use internally shipped Catch2" ${openPMD_SUPERBUILD})
|
|
148
|
+
option(openPMD_USE_INTERNAL_PYBIND11 "Use internally shipped pybind11" ${openPMD_SUPERBUILD})
|
|
149
|
+
option(openPMD_USE_INTERNAL_JSON "Use internally shipped nlohmann-json" ${openPMD_SUPERBUILD})
|
|
150
|
+
option(openPMD_USE_INTERNAL_TOML11 "Use internally shipped toml11" ${openPMD_SUPERBUILD})
|
|
158
151
|
|
|
159
152
|
option(openPMD_USE_INVASIVE_TESTS "Enable unit tests that modify source code" OFF)
|
|
160
153
|
option(openPMD_USE_VERIFY "Enable internal VERIFY (assert) macro independent of build type" ON)
|
|
@@ -226,6 +219,8 @@ endfunction()
|
|
|
226
219
|
|
|
227
220
|
# Dependencies ################################################################
|
|
228
221
|
#
|
|
222
|
+
message(STATUS "openPMD-api superbuild: ${openPMD_SUPERBUILD}")
|
|
223
|
+
|
|
229
224
|
# external library: MPI (optional)
|
|
230
225
|
# Implementation quirks for BullMPI, Clang+MPI and Brew's MPICH
|
|
231
226
|
# definitely w/o MPI::MPI_C:
|
|
@@ -262,33 +257,17 @@ endif()
|
|
|
262
257
|
|
|
263
258
|
|
|
264
259
|
# external library: nlohmann-json (required)
|
|
265
|
-
|
|
266
|
-
set(JSON_BuildTests OFF CACHE INTERNAL "")
|
|
267
|
-
set(JSON_Install OFF CACHE INTERNAL "") # only used PRIVATE
|
|
268
|
-
add_subdirectory("${openPMD_SOURCE_DIR}/share/openPMD/thirdParty/json")
|
|
269
|
-
message(STATUS "nlohmann-json: Using INTERNAL version '3.9.1'")
|
|
270
|
-
else()
|
|
271
|
-
find_package(nlohmann_json 3.9.1 CONFIG REQUIRED)
|
|
272
|
-
message(STATUS "nlohmann-json: Found version '${nlohmann_json_VERSION}'")
|
|
273
|
-
endif()
|
|
260
|
+
include(${openPMD_SOURCE_DIR}/cmake/dependencies/json.cmake)
|
|
274
261
|
add_library(openPMD::thirdparty::nlohmann_json INTERFACE IMPORTED)
|
|
275
262
|
target_link_libraries(openPMD::thirdparty::nlohmann_json
|
|
276
263
|
INTERFACE nlohmann_json::nlohmann_json)
|
|
277
264
|
|
|
278
|
-
# external library: toml11
|
|
279
|
-
|
|
280
|
-
set(toml11_INSTALL OFF CACHE INTERNAL "")
|
|
281
|
-
add_subdirectory("${openPMD_SOURCE_DIR}/share/openPMD/thirdParty/toml11")
|
|
282
|
-
message(STATUS "toml11: Using INTERNAL version '3.7.1'")
|
|
283
|
-
else()
|
|
284
|
-
find_package(toml11 3.7.1 CONFIG REQUIRED)
|
|
285
|
-
message(STATUS "toml11: Found version '${toml11_VERSION}'")
|
|
286
|
-
endif()
|
|
265
|
+
# external library: toml11 (required)
|
|
266
|
+
include(${openPMD_SOURCE_DIR}/cmake/dependencies/toml11.cmake)
|
|
287
267
|
add_library(openPMD::thirdparty::toml11 INTERFACE IMPORTED)
|
|
288
268
|
target_link_libraries(openPMD::thirdparty::toml11
|
|
289
269
|
INTERFACE toml11::toml11)
|
|
290
270
|
|
|
291
|
-
|
|
292
271
|
# external: CUDA (optional)
|
|
293
272
|
if(openPMD_BUILD_EXAMPLES) # currently only used in examples
|
|
294
273
|
if(openPMD_USE_CUDA_EXAMPLES STREQUAL AUTO)
|
|
@@ -335,7 +314,7 @@ endif()
|
|
|
335
314
|
string(CONCAT openPMD_HDF5_STATUS "")
|
|
336
315
|
# version: lower limit
|
|
337
316
|
if(openPMD_HAVE_HDF5)
|
|
338
|
-
if(HDF5_VERSION STREQUAL "")
|
|
317
|
+
if("${HDF5_VERSION}" STREQUAL "")
|
|
339
318
|
message(WARNING "HDF5_VERSION is empty. Now assuming it is 1.8.13 or newer.")
|
|
340
319
|
else()
|
|
341
320
|
if(HDF5_VERSION VERSION_LESS 1.8.13)
|
|
@@ -380,122 +359,28 @@ if(openPMD_HDF5_STATUS)
|
|
|
380
359
|
endif()
|
|
381
360
|
endif()
|
|
382
361
|
|
|
383
|
-
# always search for a sequential lib first, so we can mock MPI
|
|
384
|
-
find_package(ADIOS 1.13.1 COMPONENTS sequential QUIET)
|
|
385
|
-
set(ADIOS_DEFINITIONS_SEQUENTIAL ${ADIOS_DEFINITIONS})
|
|
386
|
-
set(ADIOS_LIBRARIES_SEQUENTIAL ${ADIOS_LIBRARIES})
|
|
387
|
-
set(ADIOS_INCLUDE_DIRS_SEQUENTIAL ${ADIOS_INCLUDE_DIRS})
|
|
388
|
-
unset(ADIOS_FOUND CACHE)
|
|
389
|
-
unset(ADIOS_VERSION CACHE)
|
|
390
|
-
|
|
391
|
-
# regular logic
|
|
392
|
-
set(ADIOS1_PREFER_COMPONENTS)
|
|
393
|
-
if(NOT openPMD_HAVE_MPI)
|
|
394
|
-
set(ADIOS1_PREFER_COMPONENTS sequential)
|
|
395
|
-
endif()
|
|
396
|
-
if(openPMD_USE_ADIOS1 STREQUAL AUTO)
|
|
397
|
-
find_package(ADIOS 1.13.1 COMPONENTS ${ADIOS1_PREFER_COMPONENTS})
|
|
398
|
-
if(ADIOS_FOUND)
|
|
399
|
-
set(openPMD_HAVE_ADIOS1 TRUE)
|
|
400
|
-
else()
|
|
401
|
-
set(openPMD_HAVE_ADIOS1 FALSE)
|
|
402
|
-
endif()
|
|
403
|
-
elseif(openPMD_USE_ADIOS1)
|
|
404
|
-
find_package(ADIOS 1.13.1 REQUIRED COMPONENTS ${ADIOS1_PREFER_COMPONENTS})
|
|
405
|
-
set(openPMD_HAVE_ADIOS1 TRUE)
|
|
406
|
-
else()
|
|
407
|
-
set(openPMD_HAVE_ADIOS1 FALSE)
|
|
408
|
-
endif()
|
|
409
|
-
|
|
410
|
-
if(openPMD_HAVE_MPI AND openPMD_HAVE_ADIOS1 AND ADIOS_HAVE_SEQUENTIAL)
|
|
411
|
-
string(CONCAT openPMD_ADIOS1_STATUS
|
|
412
|
-
"Found MPI but requested ADIOS1 is serial. "
|
|
413
|
-
"Set openPMD_USE_MPI=OFF to disable MPI.\n"
|
|
414
|
-
"If you manually installed a parallel version of ADIOS1 in "
|
|
415
|
-
"a non-default path, add its installation prefix to the "
|
|
416
|
-
"environment variable CMAKE_PREFIX_PATH to find it: "
|
|
417
|
-
"https://cmake.org/cmake/help/latest/envvar/CMAKE_PREFIX_PATH.html")
|
|
418
|
-
if(openPMD_USE_ADIOS1 STREQUAL AUTO)
|
|
419
|
-
message(WARNING "${openPMD_ADIOS1_STATUS}")
|
|
420
|
-
set(openPMD_HAVE_ADIOS1 FALSE)
|
|
421
|
-
elseif(openPMD_USE_ADIOS1)
|
|
422
|
-
message(FATAL_ERROR "${openPMD_ADIOS1_STATUS}")
|
|
423
|
-
endif()
|
|
424
|
-
endif()
|
|
425
|
-
if(NOT openPMD_HAVE_MPI AND openPMD_HAVE_ADIOS1 AND NOT ADIOS_HAVE_SEQUENTIAL)
|
|
426
|
-
string(CONCAT openPMD_ADIOS1_STATUS
|
|
427
|
-
"Did not find MPI but requested ADIOS1 is parallel. "
|
|
428
|
-
"Set openPMD_USE_ADIOS1=OFF to disable ADIOS1.\n"
|
|
429
|
-
"If you manually installed a serial version of ADIOS1 in "
|
|
430
|
-
"a non-default path, add its installation prefix to the "
|
|
431
|
-
"environment variable CMAKE_PREFIX_PATH to find it: "
|
|
432
|
-
"https://cmake.org/cmake/help/latest/envvar/CMAKE_PREFIX_PATH.html")
|
|
433
|
-
if(openPMD_USE_ADIOS1 STREQUAL AUTO)
|
|
434
|
-
message(WARNING "${openPMD_ADIOS1_STATUS}")
|
|
435
|
-
set(openPMD_HAVE_ADIOS1 FALSE)
|
|
436
|
-
elseif(openPMD_USE_ADIOS1)
|
|
437
|
-
message(FATAL_ERROR "${openPMD_ADIOS1_STATUS}")
|
|
438
|
-
endif()
|
|
439
|
-
endif()
|
|
440
|
-
|
|
441
362
|
# external library: ADIOS2 (optional)
|
|
363
|
+
set(openPMD_REQUIRED_ADIOS2_COMPONENTS CXX)
|
|
364
|
+
if(openPMD_HAVE_MPI)
|
|
365
|
+
list(APPEND openPMD_REQUIRED_ADIOS2_COMPONENTS MPI)
|
|
366
|
+
endif()
|
|
442
367
|
if(openPMD_USE_ADIOS2 STREQUAL AUTO)
|
|
443
|
-
find_package(ADIOS2 2.7.0 CONFIG)
|
|
368
|
+
find_package(ADIOS2 2.7.0 CONFIG COMPONENTS ${openPMD_REQUIRED_ADIOS2_COMPONENTS})
|
|
444
369
|
if(ADIOS2_FOUND)
|
|
445
370
|
set(openPMD_HAVE_ADIOS2 TRUE)
|
|
446
371
|
else()
|
|
447
372
|
set(openPMD_HAVE_ADIOS2 FALSE)
|
|
448
373
|
endif()
|
|
449
374
|
elseif(openPMD_USE_ADIOS2)
|
|
450
|
-
find_package(ADIOS2 2.7.0 REQUIRED CONFIG)
|
|
375
|
+
find_package(ADIOS2 2.7.0 REQUIRED CONFIG COMPONENTS ${openPMD_REQUIRED_ADIOS2_COMPONENTS})
|
|
451
376
|
set(openPMD_HAVE_ADIOS2 TRUE)
|
|
452
377
|
else()
|
|
453
378
|
set(openPMD_HAVE_ADIOS2 FALSE)
|
|
454
379
|
endif()
|
|
455
|
-
|
|
456
|
-
# TODO: Check if ADIOS2 is parallel when openPMD_HAVE_MPI is ON
|
|
380
|
+
unset(openPMD_REQUIRED_ADIOS2_COMPONENTS)
|
|
457
381
|
|
|
458
382
|
# external library: pybind11 (optional)
|
|
459
|
-
|
|
460
|
-
if(CMAKE_VERSION VERSION_LESS 3.18.0)
|
|
461
|
-
# over-specification needed for CMake<3.18
|
|
462
|
-
# https://pybind11.readthedocs.io/en/latest/compiling.html#findpython-mode
|
|
463
|
-
# https://cmake.org/cmake/help/v3.18/module/FindPython.html
|
|
464
|
-
set(_PY_DEV_MODULE Development)
|
|
465
|
-
endif()
|
|
466
|
-
if(openPMD_USE_PYTHON STREQUAL AUTO)
|
|
467
|
-
find_package(Python 3.8.0 COMPONENTS Interpreter ${_PY_DEV_MODULE})
|
|
468
|
-
if(Python_FOUND)
|
|
469
|
-
if(openPMD_USE_INTERNAL_PYBIND11)
|
|
470
|
-
add_subdirectory("${openPMD_SOURCE_DIR}/share/openPMD/thirdParty/pybind11")
|
|
471
|
-
set(openPMD_HAVE_PYTHON TRUE)
|
|
472
|
-
message(STATUS "pybind11: Using INTERNAL version 2.10.1")
|
|
473
|
-
else()
|
|
474
|
-
find_package(pybind11 2.10.1 CONFIG)
|
|
475
|
-
if(pybind11_FOUND)
|
|
476
|
-
set(openPMD_HAVE_PYTHON TRUE)
|
|
477
|
-
message(STATUS "pybind11: Found version '${pybind11_VERSION}'")
|
|
478
|
-
else()
|
|
479
|
-
set(openPMD_HAVE_PYTHON FALSE)
|
|
480
|
-
endif()
|
|
481
|
-
endif()
|
|
482
|
-
else()
|
|
483
|
-
set(openPMD_HAVE_PYTHON FALSE)
|
|
484
|
-
endif()
|
|
485
|
-
elseif(openPMD_USE_PYTHON)
|
|
486
|
-
find_package(Python COMPONENTS Interpreter ${_PY_DEV_MODULE} REQUIRED)
|
|
487
|
-
if(openPMD_USE_INTERNAL_PYBIND11)
|
|
488
|
-
add_subdirectory("${openPMD_SOURCE_DIR}/share/openPMD/thirdParty/pybind11")
|
|
489
|
-
set(openPMD_HAVE_PYTHON TRUE)
|
|
490
|
-
message(STATUS "pybind11: Using INTERNAL version 2.10.1")
|
|
491
|
-
else()
|
|
492
|
-
find_package(pybind11 2.10.1 REQUIRED CONFIG)
|
|
493
|
-
set(openPMD_HAVE_PYTHON TRUE)
|
|
494
|
-
message(STATUS "pybind11: Found version '${pybind11_VERSION}'")
|
|
495
|
-
endif()
|
|
496
|
-
else()
|
|
497
|
-
set(openPMD_HAVE_PYTHON FALSE)
|
|
498
|
-
endif()
|
|
383
|
+
include(${openPMD_SOURCE_DIR}/cmake/dependencies/pybind11.cmake)
|
|
499
384
|
|
|
500
385
|
|
|
501
386
|
# Targets #####################################################################
|
|
@@ -521,9 +406,9 @@ set(CORE_SOURCE
|
|
|
521
406
|
src/auxiliary/Date.cpp
|
|
522
407
|
src/auxiliary/Filesystem.cpp
|
|
523
408
|
src/auxiliary/JSON.cpp
|
|
409
|
+
src/auxiliary/Mpi.cpp
|
|
524
410
|
src/backend/Attributable.cpp
|
|
525
411
|
src/backend/BaseRecordComponent.cpp
|
|
526
|
-
src/backend/Container.cpp
|
|
527
412
|
src/backend/MeshRecordComponent.cpp
|
|
528
413
|
src/backend/PatchRecord.cpp
|
|
529
414
|
src/backend/PatchRecordComponent.cpp
|
|
@@ -544,31 +429,9 @@ set(IO_SOURCE
|
|
|
544
429
|
src/IO/JSON/JSONIOHandlerImpl.cpp
|
|
545
430
|
src/IO/JSON/JSONFilePosition.cpp
|
|
546
431
|
src/IO/ADIOS/ADIOS2IOHandler.cpp
|
|
432
|
+
src/IO/ADIOS/ADIOS2File.cpp
|
|
547
433
|
src/IO/ADIOS/ADIOS2Auxiliary.cpp
|
|
548
|
-
src/IO/ADIOS/ADIOS2PreloadAttributes.cpp
|
|
549
434
|
src/IO/InvalidatableFile.cpp)
|
|
550
|
-
set(IO_ADIOS1_SEQUENTIAL_SOURCE
|
|
551
|
-
src/auxiliary/Filesystem.cpp
|
|
552
|
-
src/auxiliary/JSON.cpp
|
|
553
|
-
src/IO/AbstractIOHandlerImpl.cpp
|
|
554
|
-
src/ChunkInfo.cpp
|
|
555
|
-
src/Datatype.cpp
|
|
556
|
-
src/Error.cpp
|
|
557
|
-
src/IO/IOTask.cpp
|
|
558
|
-
src/IO/ADIOS/CommonADIOS1IOHandler.cpp
|
|
559
|
-
src/IO/ADIOS/ADIOS1IOHandler.cpp
|
|
560
|
-
src/IO/IOTask.cpp)
|
|
561
|
-
set(IO_ADIOS1_SOURCE
|
|
562
|
-
src/auxiliary/Filesystem.cpp
|
|
563
|
-
src/auxiliary/JSON.cpp
|
|
564
|
-
src/IO/AbstractIOHandlerImpl.cpp
|
|
565
|
-
src/ChunkInfo.cpp
|
|
566
|
-
src/Datatype.cpp
|
|
567
|
-
src/Error.cpp
|
|
568
|
-
src/IO/IOTask.cpp
|
|
569
|
-
src/IO/ADIOS/CommonADIOS1IOHandler.cpp
|
|
570
|
-
src/IO/ADIOS/ParallelADIOS1IOHandler.cpp
|
|
571
|
-
src/IO/IOTask.cpp)
|
|
572
435
|
|
|
573
436
|
# library
|
|
574
437
|
if(openPMD_BUILD_SHARED_LIBS)
|
|
@@ -635,18 +498,10 @@ target_include_directories(openPMD PUBLIC
|
|
|
635
498
|
|
|
636
499
|
# Catch2 for unit tests
|
|
637
500
|
if(openPMD_BUILD_TESTING)
|
|
501
|
+
include(${openPMD_SOURCE_DIR}/cmake/dependencies/catch.cmake)
|
|
638
502
|
add_library(openPMD::thirdparty::Catch2 INTERFACE IMPORTED)
|
|
639
|
-
|
|
640
|
-
target_include_directories(openPMD::thirdparty::Catch2 SYSTEM INTERFACE
|
|
641
|
-
$<BUILD_INTERFACE:${openPMD_SOURCE_DIR}/share/openPMD/thirdParty/catch2/include>
|
|
642
|
-
)
|
|
643
|
-
message(STATUS "Catch2: Using INTERNAL version '2.13.10'")
|
|
644
|
-
else()
|
|
645
|
-
find_package(Catch2 2.13.10 REQUIRED CONFIG)
|
|
646
|
-
target_link_libraries(openPMD::thirdparty::Catch2
|
|
503
|
+
target_link_libraries(openPMD::thirdparty::Catch2
|
|
647
504
|
INTERFACE Catch2::Catch2)
|
|
648
|
-
message(STATUS "Catch2: Found version '${Catch2_VERSION}'")
|
|
649
|
-
endif()
|
|
650
505
|
endif()
|
|
651
506
|
|
|
652
507
|
if(openPMD_HAVE_MPI)
|
|
@@ -660,149 +515,13 @@ target_include_directories(openPMD SYSTEM PRIVATE
|
|
|
660
515
|
$<TARGET_PROPERTY:openPMD::thirdparty::toml11,INTERFACE_INCLUDE_DIRECTORIES>)
|
|
661
516
|
|
|
662
517
|
# HDF5 Backend
|
|
518
|
+
# TODO: Once we require CMake 3.20+, simply link hdf5::hdf5 C lib target
|
|
663
519
|
if(openPMD_HAVE_HDF5)
|
|
664
|
-
target_link_libraries(openPMD
|
|
520
|
+
target_link_libraries(openPMD PUBLIC ${HDF5_LIBRARIES})
|
|
665
521
|
target_include_directories(openPMD SYSTEM PRIVATE ${HDF5_INCLUDE_DIRS})
|
|
666
522
|
target_compile_definitions(openPMD PRIVATE ${HDF5_DEFINITIONS})
|
|
667
523
|
endif()
|
|
668
524
|
|
|
669
|
-
# ADIOS1 Backend
|
|
670
|
-
if(openPMD_HAVE_ADIOS1)
|
|
671
|
-
add_library(openPMD.ADIOS1.Serial SHARED ${IO_ADIOS1_SEQUENTIAL_SOURCE})
|
|
672
|
-
add_library(openPMD.ADIOS1.Parallel SHARED ${IO_ADIOS1_SOURCE})
|
|
673
|
-
openpmd_cxx_required(openPMD.ADIOS1.Serial)
|
|
674
|
-
openpmd_cxx_required(openPMD.ADIOS1.Parallel)
|
|
675
|
-
target_compile_options(openPMD.ADIOS1.Serial PUBLIC ${_msvc_options})
|
|
676
|
-
target_compile_options(openPMD.ADIOS1.Parallel PUBLIC ${_msvc_options})
|
|
677
|
-
|
|
678
|
-
target_include_directories(openPMD.ADIOS1.Serial PRIVATE
|
|
679
|
-
${openPMD_SOURCE_DIR}/include ${openPMD_BINARY_DIR}/include)
|
|
680
|
-
target_include_directories(openPMD.ADIOS1.Parallel PRIVATE
|
|
681
|
-
${openPMD_SOURCE_DIR}/include ${openPMD_BINARY_DIR}/include)
|
|
682
|
-
|
|
683
|
-
target_include_directories(openPMD.ADIOS1.Serial SYSTEM PRIVATE
|
|
684
|
-
$<TARGET_PROPERTY:openPMD::thirdparty::nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>
|
|
685
|
-
$<TARGET_PROPERTY:openPMD::thirdparty::toml11,INTERFACE_INCLUDE_DIRECTORIES>)
|
|
686
|
-
target_include_directories(openPMD.ADIOS1.Parallel SYSTEM PRIVATE
|
|
687
|
-
$<TARGET_PROPERTY:openPMD::thirdparty::nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>
|
|
688
|
-
$<TARGET_PROPERTY:openPMD::thirdparty::toml11,INTERFACE_INCLUDE_DIRECTORIES>)
|
|
689
|
-
|
|
690
|
-
set_target_properties(openPMD.ADIOS1.Serial PROPERTIES
|
|
691
|
-
COMPILE_PDB_NAME openPMD.ADIOS1.Serial
|
|
692
|
-
ARCHIVE_OUTPUT_DIRECTORY ${openPMD_ARCHIVE_OUTPUT_DIRECTORY}
|
|
693
|
-
LIBRARY_OUTPUT_DIRECTORY ${openPMD_LIBRARY_OUTPUT_DIRECTORY}
|
|
694
|
-
RUNTIME_OUTPUT_DIRECTORY ${openPMD_RUNTIME_OUTPUT_DIRECTORY}
|
|
695
|
-
PDB_OUTPUT_DIRECTORY ${openPMD_PDB_OUTPUT_DIRECTORY}
|
|
696
|
-
COMPILE_PDB_OUTPUT_DIRECTORY ${openPMD_COMPILE_PDB_OUTPUT_DIRECTORY}
|
|
697
|
-
|
|
698
|
-
POSITION_INDEPENDENT_CODE ON
|
|
699
|
-
CXX_VISIBILITY_PRESET hidden
|
|
700
|
-
VISIBILITY_INLINES_HIDDEN ON
|
|
701
|
-
)
|
|
702
|
-
# note: same as above, but for Multi-Config generators
|
|
703
|
-
if(isMultiConfig)
|
|
704
|
-
foreach(CFG IN LISTS CMAKE_CONFIGURATION_TYPES)
|
|
705
|
-
string(TOUPPER "${CFG}" CFG_UPPER)
|
|
706
|
-
set_target_properties(openPMD.ADIOS1.Serial PROPERTIES
|
|
707
|
-
COMPILE_PDB_NAME_${CFG_UPPER} openPMD.ADIOS1.Serial
|
|
708
|
-
ARCHIVE_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_ARCHIVE_OUTPUT_DIRECTORY}/${CFG}
|
|
709
|
-
LIBRARY_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_LIBRARY_OUTPUT_DIRECTORY}/${CFG}
|
|
710
|
-
RUNTIME_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_RUNTIME_OUTPUT_DIRECTORY}/${CFG}
|
|
711
|
-
PDB_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_PDB_OUTPUT_DIRECTORY}/${CFG}
|
|
712
|
-
COMPILE_PDB_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_COMPILE_PDB_OUTPUT_DIRECTORY}/${CFG}
|
|
713
|
-
)
|
|
714
|
-
endforeach()
|
|
715
|
-
endif()
|
|
716
|
-
if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
|
717
|
-
set_target_properties(openPMD.ADIOS1.Serial PROPERTIES
|
|
718
|
-
LINK_FLAGS "-Wl,--exclude-libs,ALL")
|
|
719
|
-
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
|
|
720
|
-
set_target_properties(openPMD.ADIOS1.Serial PROPERTIES
|
|
721
|
-
XCODE_ATTRIBUTE_STRIP_STYLE "non-global"
|
|
722
|
-
XCODE_ATTRIBUTE_DEPLOYMENT_POSTPROCESSING "YES"
|
|
723
|
-
XCODE_ATTRIBUTE_SEPARATE_STRIP "YES"
|
|
724
|
-
)
|
|
725
|
-
endif()
|
|
726
|
-
foreach(adlib ${ADIOS_LIBRARIES_SEQUENTIAL})
|
|
727
|
-
target_link_libraries(openPMD.ADIOS1.Serial PRIVATE ${adlib})
|
|
728
|
-
endforeach()
|
|
729
|
-
target_include_directories(openPMD.ADIOS1.Serial SYSTEM PRIVATE ${ADIOS_INCLUDE_DIRS_SEQUENTIAL})
|
|
730
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE "${ADIOS_DEFINITIONS_SEQUENTIAL}")
|
|
731
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE openPMD_HAVE_ADIOS1=1)
|
|
732
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE openPMD_HAVE_MPI=0)
|
|
733
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE _NOMPI) # ADIOS header
|
|
734
|
-
|
|
735
|
-
if(openPMD_HAVE_MPI)
|
|
736
|
-
set_target_properties(openPMD.ADIOS1.Parallel PROPERTIES
|
|
737
|
-
COMPILE_PDB_NAME openPMD.ADIOS1.Parallel
|
|
738
|
-
ARCHIVE_OUTPUT_DIRECTORY ${openPMD_ARCHIVE_OUTPUT_DIRECTORY}
|
|
739
|
-
LIBRARY_OUTPUT_DIRECTORY ${openPMD_LIBRARY_OUTPUT_DIRECTORY}
|
|
740
|
-
RUNTIME_OUTPUT_DIRECTORY ${openPMD_RUNTIME_OUTPUT_DIRECTORY}
|
|
741
|
-
PDB_OUTPUT_DIRECTORY ${openPMD_PDB_OUTPUT_DIRECTORY}
|
|
742
|
-
COMPILE_PDB_OUTPUT_DIRECTORY ${openPMD_COMPILE_PDB_OUTPUT_DIRECTORY}
|
|
743
|
-
|
|
744
|
-
POSITION_INDEPENDENT_CODE ON
|
|
745
|
-
CXX_VISIBILITY_PRESET hidden
|
|
746
|
-
VISIBILITY_INLINES_HIDDEN 1
|
|
747
|
-
)
|
|
748
|
-
# note: same as above, but for Multi-Config generators
|
|
749
|
-
if(isMultiConfig)
|
|
750
|
-
foreach(CFG IN LISTS CMAKE_CONFIGURATION_TYPES)
|
|
751
|
-
string(TOUPPER "${CFG}" CFG_UPPER)
|
|
752
|
-
set_target_properties(openPMD.ADIOS1.Parallel PROPERTIES
|
|
753
|
-
COMPILE_PDB_NAME_${CFG_UPPER} opemPMD.ADIOS1.Parallel
|
|
754
|
-
ARCHIVE_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_ARCHIVE_OUTPUT_DIRECTORY}/${CFG}
|
|
755
|
-
LIBRARY_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_LIBRARY_OUTPUT_DIRECTORY}/${CFG}
|
|
756
|
-
RUNTIME_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_RUNTIME_OUTPUT_DIRECTORY}/${CFG}
|
|
757
|
-
PDB_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_PDB_OUTPUT_DIRECTORY}/${CFG}
|
|
758
|
-
COMPILE_PDB_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_COMPILE_PDB_OUTPUT_DIRECTORY}/${CFG}
|
|
759
|
-
)
|
|
760
|
-
endforeach()
|
|
761
|
-
endif()
|
|
762
|
-
if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
|
763
|
-
set_target_properties(openPMD.ADIOS1.Parallel PROPERTIES
|
|
764
|
-
LINK_FLAGS "-Wl,--exclude-libs,ALL")
|
|
765
|
-
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
|
|
766
|
-
set_target_properties(openPMD.ADIOS1.Parallel PROPERTIES
|
|
767
|
-
XCODE_ATTRIBUTE_STRIP_STYLE "non-global"
|
|
768
|
-
XCODE_ATTRIBUTE_DEPLOYMENT_POSTPROCESSING "YES"
|
|
769
|
-
XCODE_ATTRIBUTE_SEPARATE_STRIP "YES"
|
|
770
|
-
)
|
|
771
|
-
endif()
|
|
772
|
-
foreach(adlib ${ADIOS_LIBRARIES})
|
|
773
|
-
target_link_libraries(openPMD.ADIOS1.Parallel PRIVATE ${adlib})
|
|
774
|
-
endforeach()
|
|
775
|
-
target_link_libraries(openPMD.ADIOS1.Parallel PUBLIC ${openPMD_MPI_TARGETS})
|
|
776
|
-
|
|
777
|
-
target_include_directories(openPMD.ADIOS1.Parallel SYSTEM PRIVATE ${ADIOS_INCLUDE_DIRS})
|
|
778
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE "${ADIOS_DEFINITIONS}")
|
|
779
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_HAVE_ADIOS1=1)
|
|
780
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_HAVE_MPI=1)
|
|
781
|
-
else()
|
|
782
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_HAVE_ADIOS1=0)
|
|
783
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_HAVE_MPI=0)
|
|
784
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE _NOMPI) # ADIOS header
|
|
785
|
-
endif()
|
|
786
|
-
# This ensures that the ADIOS1 targets don't ever include Error.hpp
|
|
787
|
-
# To avoid incompatible error types in weird compile configurations
|
|
788
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE OPENPMD_ADIOS1_IMPLEMENTATION)
|
|
789
|
-
|
|
790
|
-
# Runtime parameter and API status checks ("asserts")
|
|
791
|
-
if(openPMD_USE_VERIFY)
|
|
792
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE openPMD_USE_VERIFY=1)
|
|
793
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_USE_VERIFY=1)
|
|
794
|
-
else()
|
|
795
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE openPMD_USE_VERIFY=0)
|
|
796
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_USE_VERIFY=0)
|
|
797
|
-
endif()
|
|
798
|
-
|
|
799
|
-
target_link_libraries(openPMD PUBLIC openPMD.ADIOS1.Serial)
|
|
800
|
-
target_link_libraries(openPMD PUBLIC openPMD.ADIOS1.Parallel)
|
|
801
|
-
else()
|
|
802
|
-
# add stubs to prevent missing symbols in Clang ASAN/UBSAN
|
|
803
|
-
target_sources(openPMD PRIVATE ${IO_ADIOS1_SEQUENTIAL_SOURCE} ${IO_ADIOS1_SOURCE})
|
|
804
|
-
endif()
|
|
805
|
-
|
|
806
525
|
# ADIOS2 Backend
|
|
807
526
|
if(openPMD_HAVE_ADIOS2)
|
|
808
527
|
if(openPMD_HAVE_MPI)
|
|
@@ -825,10 +544,8 @@ if(openPMD_HAVE_PYTHON)
|
|
|
825
544
|
src/binding/python/openPMD.cpp
|
|
826
545
|
src/binding/python/Access.cpp
|
|
827
546
|
src/binding/python/Attributable.cpp
|
|
828
|
-
src/binding/python/BaseRecord.cpp
|
|
829
547
|
src/binding/python/BaseRecordComponent.cpp
|
|
830
548
|
src/binding/python/ChunkInfo.cpp
|
|
831
|
-
src/binding/python/Container.cpp
|
|
832
549
|
src/binding/python/Dataset.cpp
|
|
833
550
|
src/binding/python/Datatype.cpp
|
|
834
551
|
src/binding/python/Error.cpp
|
|
@@ -857,14 +574,8 @@ if(openPMD_HAVE_PYTHON)
|
|
|
857
574
|
endif()
|
|
858
575
|
endif()
|
|
859
576
|
message(STATUS "Python LTO/IPO: ${_USE_PY_LTO}")
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
INTERPROCEDURAL_OPTIMIZATION ${_USE_PY_LTO})
|
|
863
|
-
else()
|
|
864
|
-
if(_USE_PY_LTO)
|
|
865
|
-
target_link_libraries(openPMD.py PRIVATE pybind11::lto)
|
|
866
|
-
endif()
|
|
867
|
-
endif()
|
|
577
|
+
set_target_properties(openPMD.py PROPERTIES
|
|
578
|
+
INTERPROCEDURAL_OPTIMIZATION ${_USE_PY_LTO})
|
|
868
579
|
unset(_USE_PY_LTO)
|
|
869
580
|
|
|
870
581
|
if(EMSCRIPTEN)
|
|
@@ -1196,6 +907,8 @@ if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|
|
1196
907
|
# /usr/lib/llvm-6.0/lib/clang/6.0.0/lib/linux/libclang_rt.ubsan_minimal-x86_64.so
|
|
1197
908
|
# at runtime when used with symbol-hidden code (e.g. pybind11 module)
|
|
1198
909
|
|
|
910
|
+
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wpedantic -Wshadow -Woverloaded-virtual -Wextra-semi -Wunreachable-code -Wsign-compare ${CMAKE_CXX_FLAGS}")
|
|
911
|
+
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
|
|
1199
912
|
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wpedantic -Wshadow -Woverloaded-virtual -Wextra-semi -Wunreachable-code -Wsign-compare ${CMAKE_CXX_FLAGS}")
|
|
1200
913
|
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
|
1201
914
|
set(CMAKE_CXX_FLAGS "-w3 -wd193,383,1572 ${CMAKE_CXX_FLAGS}")
|
|
@@ -1273,11 +986,6 @@ write_basic_package_version_file("openPMDConfigVersion.cmake"
|
|
|
1273
986
|
if(openPMD_INSTALL)
|
|
1274
987
|
set(openPMD_INSTALL_TARGET_NAMES openPMD)
|
|
1275
988
|
|
|
1276
|
-
if(openPMD_HAVE_ADIOS1)
|
|
1277
|
-
list(APPEND openPMD_INSTALL_TARGET_NAMES
|
|
1278
|
-
openPMD.ADIOS1.Serial openPMD.ADIOS1.Parallel)
|
|
1279
|
-
endif()
|
|
1280
|
-
|
|
1281
989
|
if(openPMD_BUILD_CLI_TOOLS)
|
|
1282
990
|
foreach(toolname ${openPMD_CLI_TOOL_NAMES})
|
|
1283
991
|
list(APPEND openPMD_INSTALL_TARGET_NAMES openpmd-${toolname})
|
|
@@ -1361,11 +1069,6 @@ if(openPMD_INSTALL)
|
|
|
1361
1069
|
${openPMD_BINARY_DIR}/openPMDConfigVersion.cmake
|
|
1362
1070
|
DESTINATION ${openPMD_INSTALL_CMAKEDIR}
|
|
1363
1071
|
)
|
|
1364
|
-
install(
|
|
1365
|
-
FILES
|
|
1366
|
-
${openPMD_SOURCE_DIR}/share/openPMD/cmake/FindADIOS.cmake
|
|
1367
|
-
DESTINATION ${openPMD_INSTALL_CMAKEDIR}/Modules
|
|
1368
|
-
)
|
|
1369
1072
|
# pkg-config .pc file for depending legacy projects
|
|
1370
1073
|
# This is for projects that do not use a build file generator, e.g.
|
|
1371
1074
|
# because they compile manually on the command line or write their
|
|
@@ -1572,7 +1275,7 @@ if(openPMD_BUILD_TESTING)
|
|
|
1572
1275
|
# openpmd-pipe (python) test
|
|
1573
1276
|
if( NOT WIN32
|
|
1574
1277
|
AND openPMD_HAVE_HDF5
|
|
1575
|
-
AND
|
|
1278
|
+
AND openPMD_HAVE_ADIOS2
|
|
1576
1279
|
AND EXAMPLE_DATA_FOUND
|
|
1577
1280
|
)
|
|
1578
1281
|
if( openPMD_HAVE_MPI )
|
|
@@ -1584,18 +1287,25 @@ if(openPMD_BUILD_TESTING)
|
|
|
1584
1287
|
add_test(NAME CLI.pipe.py
|
|
1585
1288
|
COMMAND sh -c
|
|
1586
1289
|
"${MPI_TEST_EXE} ${Python_EXECUTABLE} \
|
|
1587
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1290
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1588
1291
|
--infile ../samples/git-sample/data%T.h5 \
|
|
1589
1292
|
--outfile ../samples/git-sample/data%T.bp && \
|
|
1590
1293
|
\
|
|
1591
1294
|
${MPI_TEST_EXE} ${Python_EXECUTABLE} \
|
|
1592
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1295
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1296
|
+
--infile ../samples/git-sample/data00000100.h5 \
|
|
1297
|
+
--outfile \
|
|
1298
|
+
../samples/git-sample/single_iteration_%T.bp && \
|
|
1299
|
+
\
|
|
1300
|
+
${MPI_TEST_EXE} ${Python_EXECUTABLE} \
|
|
1301
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1593
1302
|
--infile ../samples/git-sample/thetaMode/data%T.h5 \
|
|
1594
|
-
--outfile
|
|
1303
|
+
--outfile \
|
|
1304
|
+
../samples/git-sample/thetaMode/data_%T.bp && \
|
|
1595
1305
|
\
|
|
1596
|
-
${Python_EXECUTABLE}
|
|
1597
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1598
|
-
--infile ../samples/git-sample/thetaMode/
|
|
1306
|
+
${MPI_TEST_EXE} ${Python_EXECUTABLE} \
|
|
1307
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1308
|
+
--infile ../samples/git-sample/thetaMode/data_%T.bp \
|
|
1599
1309
|
--outfile ../samples/git-sample/thetaMode/data%T.json \
|
|
1600
1310
|
"
|
|
1601
1311
|
WORKING_DIRECTORY ${openPMD_RUNTIME_OUTPUT_DIRECTORY}
|
|
@@ -1604,17 +1314,17 @@ if(openPMD_BUILD_TESTING)
|
|
|
1604
1314
|
add_test(NAME CLI.pipe.py
|
|
1605
1315
|
COMMAND sh -c
|
|
1606
1316
|
"${Python_EXECUTABLE} \
|
|
1607
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1317
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1608
1318
|
--infile ../samples/git-sample/data%T.h5 \
|
|
1609
1319
|
--outfile ../samples/git-sample/data%T.bp && \
|
|
1610
1320
|
\
|
|
1611
1321
|
${Python_EXECUTABLE} \
|
|
1612
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1322
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1613
1323
|
--infile ../samples/git-sample/thetaMode/data%T.h5 \
|
|
1614
1324
|
--outfile ../samples/git-sample/thetaMode/data%T.bp && \
|
|
1615
1325
|
\
|
|
1616
1326
|
${Python_EXECUTABLE} \
|
|
1617
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1327
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1618
1328
|
--infile ../samples/git-sample/thetaMode/data%T.bp \
|
|
1619
1329
|
--outfile ../samples/git-sample/thetaMode/data%T.json \
|
|
1620
1330
|
"
|
|
@@ -1672,7 +1382,6 @@ if(openPMD_BUILD_TESTING)
|
|
|
1672
1382
|
endif()
|
|
1673
1383
|
endif()
|
|
1674
1384
|
|
|
1675
|
-
|
|
1676
1385
|
# Status Message for Build Options ############################################
|
|
1677
1386
|
#
|
|
1678
1387
|
openpmd_print_summary()
|