openPMD-api 0.15.1__tar.gz → 0.16.0__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.1 → openpmd_api-0.16.0}/CMakeLists.txt +57 -345
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/PKG-INFO +35 -30
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/README.md +30 -27
- openpmd_api-0.16.0/cmake/dependencies/catch.cmake +74 -0
- openpmd_api-0.16.0/cmake/dependencies/json.cmake +74 -0
- openpmd_api-0.16.0/cmake/dependencies/pybind11.cmake +96 -0
- openpmd_api-0.16.0/cmake/dependencies/toml11.cmake +82 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/10_streaming_read.cpp +27 -10
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/10_streaming_read.py +9 -7
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/10_streaming_write.cpp +15 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/10_streaming_write.py +10 -9
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/11_particle_dataframe.py +21 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/12_span_write.cpp +27 -3
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/12_span_write.py +5 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/13_write_dynamic_configuration.cpp +6 -2
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/13_write_dynamic_configuration.py +8 -8
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/1_structure.cpp +8 -3
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/2_read_serial.cpp +15 -12
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/2_read_serial.py +1 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/2a_read_thetaMode_serial.cpp +2 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/2a_read_thetaMode_serial.py +2 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/3_write_serial.cpp +6 -2
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/3_write_serial.py +6 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/3a_write_thetaMode_serial.cpp +5 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/3a_write_thetaMode_serial.py +5 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/3b_write_resizable_particles.cpp +5 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/3b_write_resizable_particles.py +1 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/4_read_parallel.cpp +15 -3
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/5_write_parallel.cpp +30 -7
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/5_write_parallel.py +31 -5
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/7_extended_write_serial.cpp +7 -11
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/7_extended_write_serial.py +7 -5
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/8_benchmark_parallel.cpp +5 -4
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/8a_benchmark_write_parallel.cpp +15 -8
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/8b_benchmark_read_parallel.cpp +7 -3
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/9_particle_write_serial.py +14 -10
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/ChunkInfo.hpp +60 -0
- openpmd_api-0.16.0/include/openPMD/ChunkInfo_internal.hpp +67 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/Dataset.hpp +11 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/Datatype.hpp +128 -2
- openpmd_api-0.16.0/include/openPMD/Datatype.tpp +258 -0
- openpmd_api-0.16.0/include/openPMD/DatatypeHelpers.hpp +28 -0
- openpmd_api-0.16.0/include/openPMD/DatatypeMacros.hpp +115 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/Error.hpp +4 -3
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/ADIOS/ADIOS2Auxiliary.hpp +95 -2
- openpmd_api-0.16.0/include/openPMD/IO/ADIOS/ADIOS2File.hpp +485 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/ADIOS/ADIOS2FilePosition.hpp +5 -10
- openpmd_api-0.16.0/include/openPMD/IO/ADIOS/ADIOS2IOHandler.hpp +855 -0
- openpmd_api-0.16.0/include/openPMD/IO/ADIOS/macros.hpp +42 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/AbstractIOHandler.hpp +49 -8
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/AbstractIOHandlerHelper.hpp +6 -2
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/AbstractIOHandlerImpl.hpp +31 -203
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/AbstractIOHandlerImplCommon.hpp +10 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/DummyIOHandler.hpp +1 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/Format.hpp +2 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/HDF5Auxiliary.hpp +1 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/HDF5IOHandlerImpl.hpp +25 -3
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/ParallelHDF5IOHandler.hpp +2 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/ParallelHDF5IOHandlerImpl.hpp +2 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/IOTask.hpp +55 -35
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/JSON/JSONIOHandler.hpp +19 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/JSON/JSONIOHandlerImpl.hpp +61 -20
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/Iteration.hpp +42 -15
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/Mesh.hpp +1 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/ParticleSpecies.hpp +9 -18
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/ReadIterations.hpp +20 -25
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/Record.hpp +1 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/RecordComponent.hpp +108 -26
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/RecordComponent.tpp +66 -39
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/Series.hpp +245 -30
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/ThrowError.hpp +2 -11
- openpmd_api-0.16.0/include/openPMD/UndefDatatypeMacros.hpp +24 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/WriteIterations.hpp +18 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/JSON_internal.hpp +19 -4
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Mpi.hpp +50 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/TypeTraits.hpp +77 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/UniquePtr.hpp +21 -18
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Variant.hpp +14 -2
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/backend/Attributable.hpp +164 -17
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/backend/Attribute.hpp +128 -63
- openpmd_api-0.16.0/include/openPMD/backend/BaseRecord.hpp +1022 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/backend/BaseRecordComponent.hpp +78 -11
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/backend/Container.hpp +110 -57
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/backend/MeshRecordComponent.hpp +22 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/backend/PatchRecord.hpp +1 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/backend/PatchRecordComponent.hpp +52 -61
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/backend/Writable.hpp +39 -12
- openpmd_api-0.16.0/include/openPMD/binding/python/Common.hpp +59 -0
- openPMD-api-0.15.1/src/binding/python/Container.cpp → openpmd_api-0.16.0/include/openPMD/binding/python/Container.H +49 -72
- openpmd_api-0.16.0/include/openPMD/binding/python/Mpi.hpp +100 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/binding/python/Numpy.hpp +27 -7
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/binding/python/Pickle.hpp +5 -11
- openpmd_api-0.16.0/include/openPMD/binding/python/RecordComponent.hpp +110 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/cli/ls.hpp +2 -2
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/config.hpp.in +1 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/version.hpp +1 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/openPMDConfig.cmake.in +1 -7
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/openPMD_api.egg-info/PKG-INFO +35 -30
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/openPMD_api.egg-info/SOURCES.txt +16 -109
- openpmd_api-0.16.0/openPMD_api.egg-info/requires.txt +1 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/pyproject.toml +3 -2
- openpmd_api-0.16.0/requirements.txt +1 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/setup.py +19 -14
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/share/openPMD/download_samples.ps1 +5 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/share/openPMD/download_samples.sh +8 -4
- openpmd_api-0.16.0/src/ChunkInfo.cpp +168 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/Dataset.cpp +46 -5
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/Datatype.cpp +44 -41
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/Error.cpp +5 -6
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/Format.cpp +9 -23
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/ADIOS/ADIOS2Auxiliary.cpp +39 -0
- openpmd_api-0.16.0/src/IO/ADIOS/ADIOS2File.cpp +1355 -0
- openpmd_api-0.16.0/src/IO/ADIOS/ADIOS2IOHandler.cpp +2220 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/AbstractIOHandler.cpp +12 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/AbstractIOHandlerHelper.cpp +55 -55
- openpmd_api-0.16.0/src/IO/AbstractIOHandlerImpl.cpp +493 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/DummyIOHandler.cpp +5 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/HDF5/HDF5Auxiliary.cpp +5 -4
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/HDF5/HDF5IOHandler.cpp +627 -188
- openpmd_api-0.16.0/src/IO/HDF5/ParallelHDF5IOHandler.cpp +454 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/IOTask.cpp +8 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/InvalidatableFile.cpp +3 -3
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/JSON/JSONIOHandler.cpp +22 -2
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/JSON/JSONIOHandlerImpl.cpp +368 -98
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/Iteration.cpp +68 -81
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/Mesh.cpp +26 -28
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/ParticlePatches.cpp +7 -8
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/ParticleSpecies.cpp +15 -35
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/ReadIterations.cpp +67 -32
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/Record.cpp +17 -23
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/RecordComponent.cpp +225 -83
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/Series.cpp +895 -152
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/WriteIterations.cpp +43 -9
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/auxiliary/Filesystem.cpp +4 -2
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/auxiliary/JSON.cpp +144 -17
- openpmd_api-0.16.0/src/auxiliary/Mpi.cpp +113 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/backend/Attributable.cpp +172 -53
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/backend/BaseRecordComponent.cpp +64 -10
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/backend/MeshRecordComponent.cpp +22 -2
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/backend/PatchRecord.cpp +8 -8
- openpmd_api-0.16.0/src/backend/PatchRecordComponent.cpp +87 -0
- openpmd_api-0.16.0/src/backend/Writable.cpp +106 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/Access.cpp +1 -5
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/Attributable.cpp +211 -62
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/BaseRecordComponent.cpp +6 -9
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/ChunkInfo.cpp +30 -7
- openpmd_api-0.16.0/src/binding/python/Dataset.cpp +92 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/Datatype.cpp +3 -7
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/Error.cpp +9 -4
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/Helper.cpp +3 -7
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/Iteration.cpp +41 -9
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/IterationEncoding.cpp +1 -5
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/Mesh.cpp +21 -15
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/MeshRecordComponent.cpp +49 -11
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/ParticlePatches.cpp +14 -8
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/ParticleSpecies.cpp +27 -10
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/PatchRecord.cpp +10 -6
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/PatchRecordComponent.cpp +51 -10
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/Record.cpp +20 -9
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/RecordComponent.cpp +299 -252
- openpmd_api-0.16.0/src/binding/python/Series.cpp +449 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/UnitDimension.cpp +1 -5
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/openPMD.cpp +15 -16
- openpmd_api-0.16.0/src/binding/python/openpmd_api/DaskArray.py +149 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/DaskDataFrame.py +20 -12
- openpmd_api-0.16.0/src/binding/python/openpmd_api/DataFrame.py +184 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/__init__.py +4 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/pipe/__main__.py +20 -45
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/cli/ls.cpp +1 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/config.cpp +15 -3
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/version.cpp +3 -6
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/AuxiliaryTest.cpp +4 -3
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/CoreTest.cpp +219 -75
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/JSONTest.cpp +1 -1
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/ParallelIOTest.cpp +490 -154
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/SerialIOTest.cpp +1046 -586
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/python/unittest/API/APITest.py +75 -61
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/python/unittest/Test.py +2 -2
- openPMD-api-0.15.1/include/openPMD/DatatypeHelpers.hpp +0 -299
- openPMD-api-0.15.1/include/openPMD/IO/ADIOS/ADIOS1Auxiliary.hpp +0 -279
- openPMD-api-0.15.1/include/openPMD/IO/ADIOS/ADIOS1FilePosition.hpp +0 -36
- openPMD-api-0.15.1/include/openPMD/IO/ADIOS/ADIOS1IOHandler.hpp +0 -81
- openPMD-api-0.15.1/include/openPMD/IO/ADIOS/ADIOS1IOHandlerImpl.hpp +0 -64
- openPMD-api-0.15.1/include/openPMD/IO/ADIOS/ADIOS2IOHandler.hpp +0 -1401
- openPMD-api-0.15.1/include/openPMD/IO/ADIOS/ADIOS2PreloadAttributes.hpp +0 -170
- openPMD-api-0.15.1/include/openPMD/IO/ADIOS/CommonADIOS1IOHandler.hpp +0 -131
- openPMD-api-0.15.1/include/openPMD/IO/ADIOS/ParallelADIOS1IOHandler.hpp +0 -69
- openPMD-api-0.15.1/include/openPMD/IO/ADIOS/ParallelADIOS1IOHandlerImpl.hpp +0 -71
- openPMD-api-0.15.1/include/openPMD/backend/BaseRecord.hpp +0 -377
- openPMD-api-0.15.1/openPMD_api.egg-info/requires.txt +0 -1
- openPMD-api-0.15.1/requirements.txt +0 -1
- openPMD-api-0.15.1/share/openPMD/cmake/FindADIOS.cmake +0 -311
- openPMD-api-0.15.1/share/openPMD/thirdParty/catch2/include/catch2/catch.hpp +0 -17976
- openPMD-api-0.15.1/share/openPMD/thirdParty/json/CMakeLists.txt +0 -164
- openPMD-api-0.15.1/share/openPMD/thirdParty/json/LICENSE.MIT +0 -21
- openPMD-api-0.15.1/share/openPMD/thirdParty/json/cmake/config.cmake.in +0 -15
- openPMD-api-0.15.1/share/openPMD/thirdParty/json/cmake/download_test_data.cmake +0 -56
- openPMD-api-0.15.1/share/openPMD/thirdParty/json/cmake/nlohmann_jsonConfigVersion.cmake.in +0 -20
- openPMD-api-0.15.1/share/openPMD/thirdParty/json/cmake/pkg-config.pc.in +0 -4
- openPMD-api-0.15.1/share/openPMD/thirdParty/json/nlohmann_json.natvis +0 -32
- openPMD-api-0.15.1/share/openPMD/thirdParty/json/single_include/nlohmann/json.hpp +0 -25447
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/CMakeLists.txt +0 -318
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/LICENSE +0 -29
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/MANIFEST.in +0 -5
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/README.rst +0 -180
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/attr.h +0 -678
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/buffer_info.h +0 -193
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/cast.h +0 -1663
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/chrono.h +0 -225
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/common.h +0 -2
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/complex.h +0 -74
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/detail/class.h +0 -735
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/detail/common.h +0 -1188
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/detail/descr.h +0 -158
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/detail/init.h +0 -428
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/detail/internals.h +0 -583
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/detail/type_caster_base.h +0 -1010
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/detail/typeid.h +0 -65
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/eigen.h +0 -713
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/embed.h +0 -279
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/eval.h +0 -156
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/functional.h +0 -130
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/gil.h +0 -239
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/iostream.h +0 -265
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/numpy.h +0 -1991
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/operators.h +0 -202
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/options.h +0 -76
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/pybind11.h +0 -2858
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/pytypes.h +0 -2467
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/stl/filesystem.h +0 -116
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/stl.h +0 -446
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/include/pybind11/stl_bind.h +0 -785
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/pybind11/__init__.py +0 -17
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/pybind11/__main__.py +0 -56
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/pybind11/_version.py +0 -12
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/pybind11/_version.pyi +0 -6
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/pybind11/commands.py +0 -37
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/pybind11/py.typed +0 -0
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/pybind11/setup_helpers.py +0 -504
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/pybind11/setup_helpers.pyi +0 -63
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/FindCatch.cmake +0 -72
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/FindEigen3.cmake +0 -86
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/FindPythonLibsNew.cmake +0 -285
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/JoinPaths.cmake +0 -23
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/check-style.sh +0 -44
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/cmake_uninstall.cmake.in +0 -23
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/codespell_ignore_lines_from_errors.py +0 -35
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/libsize.py +0 -36
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/make_changelog.py +0 -63
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/pybind11.pc.in +0 -7
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/pybind11Common.cmake +0 -385
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/pybind11Config.cmake.in +0 -231
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/pybind11NewTools.cmake +0 -256
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/pybind11Tools.cmake +0 -233
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/pyproject.toml +0 -3
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/setup_global.py.in +0 -61
- openPMD-api-0.15.1/share/openPMD/thirdParty/pybind11/tools/setup_main.py.in +0 -42
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/CMakeLists.txt +0 -116
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/LICENSE +0 -21
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/README.md +0 -1967
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/cmake/toml11Config.cmake.in +0 -2
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/color.hpp +0 -64
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/combinator.hpp +0 -306
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/comments.hpp +0 -472
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/datetime.hpp +0 -631
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/exception.hpp +0 -65
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/from.hpp +0 -19
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/get.hpp +0 -1119
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/into.hpp +0 -19
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/lexer.hpp +0 -293
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/literal.hpp +0 -113
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/macros.hpp +0 -121
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/parser.hpp +0 -2416
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/region.hpp +0 -417
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/result.hpp +0 -717
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/serializer.hpp +0 -922
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/source_location.hpp +0 -233
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/storage.hpp +0 -43
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/string.hpp +0 -228
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/traits.hpp +0 -328
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/types.hpp +0 -173
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/utility.hpp +0 -150
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/value.hpp +0 -2035
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml/version.hpp +0 -42
- openPMD-api-0.15.1/share/openPMD/thirdParty/toml11/toml.hpp +0 -38
- openPMD-api-0.15.1/src/ChunkInfo.cpp +0 -51
- openPMD-api-0.15.1/src/IO/ADIOS/ADIOS1IOHandler.cpp +0 -467
- openPMD-api-0.15.1/src/IO/ADIOS/ADIOS2IOHandler.cpp +0 -3775
- openPMD-api-0.15.1/src/IO/ADIOS/ADIOS2PreloadAttributes.cpp +0 -282
- openPMD-api-0.15.1/src/IO/ADIOS/CommonADIOS1IOHandler.cpp +0 -2054
- openPMD-api-0.15.1/src/IO/ADIOS/ParallelADIOS1IOHandler.cpp +0 -511
- openPMD-api-0.15.1/src/IO/AbstractIOHandlerImpl.cpp +0 -33
- openPMD-api-0.15.1/src/IO/HDF5/ParallelHDF5IOHandler.cpp +0 -207
- openPMD-api-0.15.1/src/backend/Container.cpp +0 -58
- openPMD-api-0.15.1/src/backend/PatchRecordComponent.cpp +0 -148
- openPMD-api-0.15.1/src/backend/Writable.cpp +0 -58
- openPMD-api-0.15.1/src/binding/python/BaseRecord.cpp +0 -65
- openPMD-api-0.15.1/src/binding/python/Dataset.cpp +0 -72
- openPMD-api-0.15.1/src/binding/python/Series.cpp +0 -279
- openPMD-api-0.15.1/src/binding/python/openpmd_api/DaskArray.py +0 -142
- openPMD-api-0.15.1/src/binding/python/openpmd_api/DataFrame.py +0 -69
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/COPYING +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/COPYING.LESSER +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/MANIFEST.in +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/cmake/openPMDFunctions.cmake +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/4_read_parallel.py +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/examples/6_dump_filebased_series.cpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/Datatype_internal.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/AbstractFilePosition.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/Access.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/FlushParametersInternal.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/HDF5FilePosition.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/HDF5IOHandler.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/InvalidatableFile.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IO/JSON/JSONFilePosition.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/IterationEncoding.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/ParticlePatches.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/Span.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/Streaming.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/UnitDimension.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Date.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/DerefDynamicCast.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Environment.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Export.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Filesystem.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/JSON.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Memory.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/OutOfRangeMsg.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/ShareRaw.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/ShareRawInternal.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/auxiliary/StringManip.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/backend/ParsePreference.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/benchmark/MemoryProfiler.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/benchmark/Timer.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/BlockSlicer.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/DatasetFiller.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/MPIBenchmark.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/MPIBenchmarkReport.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/OneDimensionalBlockSlicer.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/RandomDatasetFiller.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/binding/python/UnitDimension.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/helper/list_series.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/include/openPMD/openPMD.hpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/openPMD.pc.in +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/openPMD_api.egg-info/dependency_links.txt +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/openPMD_api.egg-info/entry_points.txt +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/openPMD_api.egg-info/not-zip-safe +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/openPMD_api.egg-info/top_level.txt +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/setup.cfg +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/share/openPMD/validate_files.sh +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/FlushParams.cpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IO/JSON/JSONFilePosition.cpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/IterationEncoding.cpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/auxiliary/Date.cpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/benchmark/mpi/OneDimensionalBlockSlicer.cpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/ls/__init__.py +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/ls/__main__.py +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/pipe/__init__.py +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/cli/pipe.py +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/src/helper/list_series.cpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/CatchMain.cpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/CatchRunner.cpp +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/python/unittest/API/__init__.py +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/python/unittest/TestUtilities/TestUtilities.py +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/test/python/unittest/TestUtilities/__init__.py +0 -0
- {openPMD-api-0.15.1 → openpmd_api-0.16.0}/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.0) # 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)
|
|
@@ -334,10 +313,16 @@ endif()
|
|
|
334
313
|
# HDF5 checks
|
|
335
314
|
string(CONCAT openPMD_HDF5_STATUS "")
|
|
336
315
|
# version: lower limit
|
|
337
|
-
if(openPMD_HAVE_HDF5
|
|
338
|
-
|
|
339
|
-
"
|
|
340
|
-
|
|
316
|
+
if(openPMD_HAVE_HDF5)
|
|
317
|
+
if(HDF5_VERSION STREQUAL "")
|
|
318
|
+
message(WARNING "HDF5_VERSION is empty. Now assuming it is 1.8.13 or newer.")
|
|
319
|
+
else()
|
|
320
|
+
if(HDF5_VERSION VERSION_LESS 1.8.13)
|
|
321
|
+
string(CONCAT openPMD_HDF5_STATUS
|
|
322
|
+
"Found HDF5 version ${HDF5_VERSION} is too old. At least "
|
|
323
|
+
"version 1.8.13 is required.\n")
|
|
324
|
+
endif()
|
|
325
|
+
endif()
|
|
341
326
|
endif()
|
|
342
327
|
# we imply support for parallel I/O if MPI variant is ON
|
|
343
328
|
if(openPMD_HAVE_MPI AND openPMD_HAVE_HDF5
|
|
@@ -374,64 +359,6 @@ if(openPMD_HDF5_STATUS)
|
|
|
374
359
|
endif()
|
|
375
360
|
endif()
|
|
376
361
|
|
|
377
|
-
# always search for a sequential lib first, so we can mock MPI
|
|
378
|
-
find_package(ADIOS 1.13.1 COMPONENTS sequential QUIET)
|
|
379
|
-
set(ADIOS_DEFINITIONS_SEQUENTIAL ${ADIOS_DEFINITIONS})
|
|
380
|
-
set(ADIOS_LIBRARIES_SEQUENTIAL ${ADIOS_LIBRARIES})
|
|
381
|
-
set(ADIOS_INCLUDE_DIRS_SEQUENTIAL ${ADIOS_INCLUDE_DIRS})
|
|
382
|
-
unset(ADIOS_FOUND CACHE)
|
|
383
|
-
unset(ADIOS_VERSION CACHE)
|
|
384
|
-
|
|
385
|
-
# regular logic
|
|
386
|
-
set(ADIOS1_PREFER_COMPONENTS)
|
|
387
|
-
if(NOT openPMD_HAVE_MPI)
|
|
388
|
-
set(ADIOS1_PREFER_COMPONENTS sequential)
|
|
389
|
-
endif()
|
|
390
|
-
if(openPMD_USE_ADIOS1 STREQUAL AUTO)
|
|
391
|
-
find_package(ADIOS 1.13.1 COMPONENTS ${ADIOS1_PREFER_COMPONENTS})
|
|
392
|
-
if(ADIOS_FOUND)
|
|
393
|
-
set(openPMD_HAVE_ADIOS1 TRUE)
|
|
394
|
-
else()
|
|
395
|
-
set(openPMD_HAVE_ADIOS1 FALSE)
|
|
396
|
-
endif()
|
|
397
|
-
elseif(openPMD_USE_ADIOS1)
|
|
398
|
-
find_package(ADIOS 1.13.1 REQUIRED COMPONENTS ${ADIOS1_PREFER_COMPONENTS})
|
|
399
|
-
set(openPMD_HAVE_ADIOS1 TRUE)
|
|
400
|
-
else()
|
|
401
|
-
set(openPMD_HAVE_ADIOS1 FALSE)
|
|
402
|
-
endif()
|
|
403
|
-
|
|
404
|
-
if(openPMD_HAVE_MPI AND openPMD_HAVE_ADIOS1 AND ADIOS_HAVE_SEQUENTIAL)
|
|
405
|
-
string(CONCAT openPMD_ADIOS1_STATUS
|
|
406
|
-
"Found MPI but requested ADIOS1 is serial. "
|
|
407
|
-
"Set openPMD_USE_MPI=OFF to disable MPI.\n"
|
|
408
|
-
"If you manually installed a parallel version of ADIOS1 in "
|
|
409
|
-
"a non-default path, add its installation prefix to the "
|
|
410
|
-
"environment variable CMAKE_PREFIX_PATH to find it: "
|
|
411
|
-
"https://cmake.org/cmake/help/latest/envvar/CMAKE_PREFIX_PATH.html")
|
|
412
|
-
if(openPMD_USE_ADIOS1 STREQUAL AUTO)
|
|
413
|
-
message(WARNING "${openPMD_ADIOS1_STATUS}")
|
|
414
|
-
set(openPMD_HAVE_ADIOS1 FALSE)
|
|
415
|
-
elseif(openPMD_USE_ADIOS1)
|
|
416
|
-
message(FATAL_ERROR "${openPMD_ADIOS1_STATUS}")
|
|
417
|
-
endif()
|
|
418
|
-
endif()
|
|
419
|
-
if(NOT openPMD_HAVE_MPI AND openPMD_HAVE_ADIOS1 AND NOT ADIOS_HAVE_SEQUENTIAL)
|
|
420
|
-
string(CONCAT openPMD_ADIOS1_STATUS
|
|
421
|
-
"Did not find MPI but requested ADIOS1 is parallel. "
|
|
422
|
-
"Set openPMD_USE_ADIOS1=OFF to disable ADIOS1.\n"
|
|
423
|
-
"If you manually installed a serial version of ADIOS1 in "
|
|
424
|
-
"a non-default path, add its installation prefix to the "
|
|
425
|
-
"environment variable CMAKE_PREFIX_PATH to find it: "
|
|
426
|
-
"https://cmake.org/cmake/help/latest/envvar/CMAKE_PREFIX_PATH.html")
|
|
427
|
-
if(openPMD_USE_ADIOS1 STREQUAL AUTO)
|
|
428
|
-
message(WARNING "${openPMD_ADIOS1_STATUS}")
|
|
429
|
-
set(openPMD_HAVE_ADIOS1 FALSE)
|
|
430
|
-
elseif(openPMD_USE_ADIOS1)
|
|
431
|
-
message(FATAL_ERROR "${openPMD_ADIOS1_STATUS}")
|
|
432
|
-
endif()
|
|
433
|
-
endif()
|
|
434
|
-
|
|
435
362
|
# external library: ADIOS2 (optional)
|
|
436
363
|
if(openPMD_USE_ADIOS2 STREQUAL AUTO)
|
|
437
364
|
find_package(ADIOS2 2.7.0 CONFIG)
|
|
@@ -446,50 +373,10 @@ elseif(openPMD_USE_ADIOS2)
|
|
|
446
373
|
else()
|
|
447
374
|
set(openPMD_HAVE_ADIOS2 FALSE)
|
|
448
375
|
endif()
|
|
449
|
-
|
|
450
376
|
# TODO: Check if ADIOS2 is parallel when openPMD_HAVE_MPI is ON
|
|
451
377
|
|
|
452
378
|
# external library: pybind11 (optional)
|
|
453
|
-
|
|
454
|
-
if(CMAKE_VERSION VERSION_LESS 3.18.0)
|
|
455
|
-
# over-specification needed for CMake<3.18
|
|
456
|
-
# https://pybind11.readthedocs.io/en/latest/compiling.html#findpython-mode
|
|
457
|
-
# https://cmake.org/cmake/help/v3.18/module/FindPython.html
|
|
458
|
-
set(_PY_DEV_MODULE Development)
|
|
459
|
-
endif()
|
|
460
|
-
if(openPMD_USE_PYTHON STREQUAL AUTO)
|
|
461
|
-
find_package(Python 3.7.0 COMPONENTS Interpreter ${_PY_DEV_MODULE})
|
|
462
|
-
if(Python_FOUND)
|
|
463
|
-
if(openPMD_USE_INTERNAL_PYBIND11)
|
|
464
|
-
add_subdirectory("${openPMD_SOURCE_DIR}/share/openPMD/thirdParty/pybind11")
|
|
465
|
-
set(openPMD_HAVE_PYTHON TRUE)
|
|
466
|
-
message(STATUS "pybind11: Using INTERNAL version 2.10.1")
|
|
467
|
-
else()
|
|
468
|
-
find_package(pybind11 2.10.1 CONFIG)
|
|
469
|
-
if(pybind11_FOUND)
|
|
470
|
-
set(openPMD_HAVE_PYTHON TRUE)
|
|
471
|
-
message(STATUS "pybind11: Found version '${pybind11_VERSION}'")
|
|
472
|
-
else()
|
|
473
|
-
set(openPMD_HAVE_PYTHON FALSE)
|
|
474
|
-
endif()
|
|
475
|
-
endif()
|
|
476
|
-
else()
|
|
477
|
-
set(openPMD_HAVE_PYTHON FALSE)
|
|
478
|
-
endif()
|
|
479
|
-
elseif(openPMD_USE_PYTHON)
|
|
480
|
-
find_package(Python COMPONENTS Interpreter ${_PY_DEV_MODULE} REQUIRED)
|
|
481
|
-
if(openPMD_USE_INTERNAL_PYBIND11)
|
|
482
|
-
add_subdirectory("${openPMD_SOURCE_DIR}/share/openPMD/thirdParty/pybind11")
|
|
483
|
-
set(openPMD_HAVE_PYTHON TRUE)
|
|
484
|
-
message(STATUS "pybind11: Using INTERNAL version 2.10.1")
|
|
485
|
-
else()
|
|
486
|
-
find_package(pybind11 2.10.1 REQUIRED CONFIG)
|
|
487
|
-
set(openPMD_HAVE_PYTHON TRUE)
|
|
488
|
-
message(STATUS "pybind11: Found version '${pybind11_VERSION}'")
|
|
489
|
-
endif()
|
|
490
|
-
else()
|
|
491
|
-
set(openPMD_HAVE_PYTHON FALSE)
|
|
492
|
-
endif()
|
|
379
|
+
include(${openPMD_SOURCE_DIR}/cmake/dependencies/pybind11.cmake)
|
|
493
380
|
|
|
494
381
|
|
|
495
382
|
# Targets #####################################################################
|
|
@@ -515,9 +402,9 @@ set(CORE_SOURCE
|
|
|
515
402
|
src/auxiliary/Date.cpp
|
|
516
403
|
src/auxiliary/Filesystem.cpp
|
|
517
404
|
src/auxiliary/JSON.cpp
|
|
405
|
+
src/auxiliary/Mpi.cpp
|
|
518
406
|
src/backend/Attributable.cpp
|
|
519
407
|
src/backend/BaseRecordComponent.cpp
|
|
520
|
-
src/backend/Container.cpp
|
|
521
408
|
src/backend/MeshRecordComponent.cpp
|
|
522
409
|
src/backend/PatchRecord.cpp
|
|
523
410
|
src/backend/PatchRecordComponent.cpp
|
|
@@ -538,29 +425,9 @@ set(IO_SOURCE
|
|
|
538
425
|
src/IO/JSON/JSONIOHandlerImpl.cpp
|
|
539
426
|
src/IO/JSON/JSONFilePosition.cpp
|
|
540
427
|
src/IO/ADIOS/ADIOS2IOHandler.cpp
|
|
428
|
+
src/IO/ADIOS/ADIOS2File.cpp
|
|
541
429
|
src/IO/ADIOS/ADIOS2Auxiliary.cpp
|
|
542
|
-
src/IO/ADIOS/ADIOS2PreloadAttributes.cpp
|
|
543
430
|
src/IO/InvalidatableFile.cpp)
|
|
544
|
-
set(IO_ADIOS1_SEQUENTIAL_SOURCE
|
|
545
|
-
src/auxiliary/Filesystem.cpp
|
|
546
|
-
src/auxiliary/JSON.cpp
|
|
547
|
-
src/IO/AbstractIOHandlerImpl.cpp
|
|
548
|
-
src/ChunkInfo.cpp
|
|
549
|
-
src/Error.cpp
|
|
550
|
-
src/IO/IOTask.cpp
|
|
551
|
-
src/IO/ADIOS/CommonADIOS1IOHandler.cpp
|
|
552
|
-
src/IO/ADIOS/ADIOS1IOHandler.cpp
|
|
553
|
-
src/IO/IOTask.cpp)
|
|
554
|
-
set(IO_ADIOS1_SOURCE
|
|
555
|
-
src/auxiliary/Filesystem.cpp
|
|
556
|
-
src/auxiliary/JSON.cpp
|
|
557
|
-
src/IO/AbstractIOHandlerImpl.cpp
|
|
558
|
-
src/ChunkInfo.cpp
|
|
559
|
-
src/Error.cpp
|
|
560
|
-
src/IO/IOTask.cpp
|
|
561
|
-
src/IO/ADIOS/CommonADIOS1IOHandler.cpp
|
|
562
|
-
src/IO/ADIOS/ParallelADIOS1IOHandler.cpp
|
|
563
|
-
src/IO/IOTask.cpp)
|
|
564
431
|
|
|
565
432
|
# library
|
|
566
433
|
if(openPMD_BUILD_SHARED_LIBS)
|
|
@@ -627,18 +494,10 @@ target_include_directories(openPMD PUBLIC
|
|
|
627
494
|
|
|
628
495
|
# Catch2 for unit tests
|
|
629
496
|
if(openPMD_BUILD_TESTING)
|
|
497
|
+
include(${openPMD_SOURCE_DIR}/cmake/dependencies/catch.cmake)
|
|
630
498
|
add_library(openPMD::thirdparty::Catch2 INTERFACE IMPORTED)
|
|
631
|
-
|
|
632
|
-
target_include_directories(openPMD::thirdparty::Catch2 SYSTEM INTERFACE
|
|
633
|
-
$<BUILD_INTERFACE:${openPMD_SOURCE_DIR}/share/openPMD/thirdParty/catch2/include>
|
|
634
|
-
)
|
|
635
|
-
message(STATUS "Catch2: Using INTERNAL version '2.13.10'")
|
|
636
|
-
else()
|
|
637
|
-
find_package(Catch2 2.13.10 REQUIRED CONFIG)
|
|
638
|
-
target_link_libraries(openPMD::thirdparty::Catch2
|
|
499
|
+
target_link_libraries(openPMD::thirdparty::Catch2
|
|
639
500
|
INTERFACE Catch2::Catch2)
|
|
640
|
-
message(STATUS "Catch2: Found version '${Catch2_VERSION}'")
|
|
641
|
-
endif()
|
|
642
501
|
endif()
|
|
643
502
|
|
|
644
503
|
if(openPMD_HAVE_MPI)
|
|
@@ -652,149 +511,13 @@ target_include_directories(openPMD SYSTEM PRIVATE
|
|
|
652
511
|
$<TARGET_PROPERTY:openPMD::thirdparty::toml11,INTERFACE_INCLUDE_DIRECTORIES>)
|
|
653
512
|
|
|
654
513
|
# HDF5 Backend
|
|
514
|
+
# TODO: Once we require CMake 3.20+, simply link hdf5::hdf5 C lib target
|
|
655
515
|
if(openPMD_HAVE_HDF5)
|
|
656
|
-
target_link_libraries(openPMD
|
|
516
|
+
target_link_libraries(openPMD PUBLIC ${HDF5_LIBRARIES})
|
|
657
517
|
target_include_directories(openPMD SYSTEM PRIVATE ${HDF5_INCLUDE_DIRS})
|
|
658
518
|
target_compile_definitions(openPMD PRIVATE ${HDF5_DEFINITIONS})
|
|
659
519
|
endif()
|
|
660
520
|
|
|
661
|
-
# ADIOS1 Backend
|
|
662
|
-
if(openPMD_HAVE_ADIOS1)
|
|
663
|
-
add_library(openPMD.ADIOS1.Serial SHARED ${IO_ADIOS1_SEQUENTIAL_SOURCE})
|
|
664
|
-
add_library(openPMD.ADIOS1.Parallel SHARED ${IO_ADIOS1_SOURCE})
|
|
665
|
-
openpmd_cxx_required(openPMD.ADIOS1.Serial)
|
|
666
|
-
openpmd_cxx_required(openPMD.ADIOS1.Parallel)
|
|
667
|
-
target_compile_options(openPMD.ADIOS1.Serial PUBLIC ${_msvc_options})
|
|
668
|
-
target_compile_options(openPMD.ADIOS1.Parallel PUBLIC ${_msvc_options})
|
|
669
|
-
|
|
670
|
-
target_include_directories(openPMD.ADIOS1.Serial PRIVATE
|
|
671
|
-
${openPMD_SOURCE_DIR}/include ${openPMD_BINARY_DIR}/include)
|
|
672
|
-
target_include_directories(openPMD.ADIOS1.Parallel PRIVATE
|
|
673
|
-
${openPMD_SOURCE_DIR}/include ${openPMD_BINARY_DIR}/include)
|
|
674
|
-
|
|
675
|
-
target_include_directories(openPMD.ADIOS1.Serial SYSTEM PRIVATE
|
|
676
|
-
$<TARGET_PROPERTY:openPMD::thirdparty::nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>
|
|
677
|
-
$<TARGET_PROPERTY:openPMD::thirdparty::toml11,INTERFACE_INCLUDE_DIRECTORIES>)
|
|
678
|
-
target_include_directories(openPMD.ADIOS1.Parallel SYSTEM PRIVATE
|
|
679
|
-
$<TARGET_PROPERTY:openPMD::thirdparty::nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>
|
|
680
|
-
$<TARGET_PROPERTY:openPMD::thirdparty::toml11,INTERFACE_INCLUDE_DIRECTORIES>)
|
|
681
|
-
|
|
682
|
-
set_target_properties(openPMD.ADIOS1.Serial PROPERTIES
|
|
683
|
-
COMPILE_PDB_NAME openPMD.ADIOS1.Serial
|
|
684
|
-
ARCHIVE_OUTPUT_DIRECTORY ${openPMD_ARCHIVE_OUTPUT_DIRECTORY}
|
|
685
|
-
LIBRARY_OUTPUT_DIRECTORY ${openPMD_LIBRARY_OUTPUT_DIRECTORY}
|
|
686
|
-
RUNTIME_OUTPUT_DIRECTORY ${openPMD_RUNTIME_OUTPUT_DIRECTORY}
|
|
687
|
-
PDB_OUTPUT_DIRECTORY ${openPMD_PDB_OUTPUT_DIRECTORY}
|
|
688
|
-
COMPILE_PDB_OUTPUT_DIRECTORY ${openPMD_COMPILE_PDB_OUTPUT_DIRECTORY}
|
|
689
|
-
|
|
690
|
-
POSITION_INDEPENDENT_CODE ON
|
|
691
|
-
CXX_VISIBILITY_PRESET hidden
|
|
692
|
-
VISIBILITY_INLINES_HIDDEN ON
|
|
693
|
-
)
|
|
694
|
-
# note: same as above, but for Multi-Config generators
|
|
695
|
-
if(isMultiConfig)
|
|
696
|
-
foreach(CFG IN LISTS CMAKE_CONFIGURATION_TYPES)
|
|
697
|
-
string(TOUPPER "${CFG}" CFG_UPPER)
|
|
698
|
-
set_target_properties(openPMD.ADIOS1.Serial PROPERTIES
|
|
699
|
-
COMPILE_PDB_NAME_${CFG_UPPER} openPMD.ADIOS1.Serial
|
|
700
|
-
ARCHIVE_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_ARCHIVE_OUTPUT_DIRECTORY}/${CFG}
|
|
701
|
-
LIBRARY_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_LIBRARY_OUTPUT_DIRECTORY}/${CFG}
|
|
702
|
-
RUNTIME_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_RUNTIME_OUTPUT_DIRECTORY}/${CFG}
|
|
703
|
-
PDB_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_PDB_OUTPUT_DIRECTORY}/${CFG}
|
|
704
|
-
COMPILE_PDB_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_COMPILE_PDB_OUTPUT_DIRECTORY}/${CFG}
|
|
705
|
-
)
|
|
706
|
-
endforeach()
|
|
707
|
-
endif()
|
|
708
|
-
if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
|
709
|
-
set_target_properties(openPMD.ADIOS1.Serial PROPERTIES
|
|
710
|
-
LINK_FLAGS "-Wl,--exclude-libs,ALL")
|
|
711
|
-
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
|
|
712
|
-
set_target_properties(openPMD.ADIOS1.Serial PROPERTIES
|
|
713
|
-
XCODE_ATTRIBUTE_STRIP_STYLE "non-global"
|
|
714
|
-
XCODE_ATTRIBUTE_DEPLOYMENT_POSTPROCESSING "YES"
|
|
715
|
-
XCODE_ATTRIBUTE_SEPARATE_STRIP "YES"
|
|
716
|
-
)
|
|
717
|
-
endif()
|
|
718
|
-
foreach(adlib ${ADIOS_LIBRARIES_SEQUENTIAL})
|
|
719
|
-
target_link_libraries(openPMD.ADIOS1.Serial PRIVATE ${adlib})
|
|
720
|
-
endforeach()
|
|
721
|
-
target_include_directories(openPMD.ADIOS1.Serial SYSTEM PRIVATE ${ADIOS_INCLUDE_DIRS_SEQUENTIAL})
|
|
722
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE "${ADIOS_DEFINITIONS_SEQUENTIAL}")
|
|
723
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE openPMD_HAVE_ADIOS1=1)
|
|
724
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE openPMD_HAVE_MPI=0)
|
|
725
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE _NOMPI) # ADIOS header
|
|
726
|
-
|
|
727
|
-
if(openPMD_HAVE_MPI)
|
|
728
|
-
set_target_properties(openPMD.ADIOS1.Parallel PROPERTIES
|
|
729
|
-
COMPILE_PDB_NAME openPMD.ADIOS1.Parallel
|
|
730
|
-
ARCHIVE_OUTPUT_DIRECTORY ${openPMD_ARCHIVE_OUTPUT_DIRECTORY}
|
|
731
|
-
LIBRARY_OUTPUT_DIRECTORY ${openPMD_LIBRARY_OUTPUT_DIRECTORY}
|
|
732
|
-
RUNTIME_OUTPUT_DIRECTORY ${openPMD_RUNTIME_OUTPUT_DIRECTORY}
|
|
733
|
-
PDB_OUTPUT_DIRECTORY ${openPMD_PDB_OUTPUT_DIRECTORY}
|
|
734
|
-
COMPILE_PDB_OUTPUT_DIRECTORY ${openPMD_COMPILE_PDB_OUTPUT_DIRECTORY}
|
|
735
|
-
|
|
736
|
-
POSITION_INDEPENDENT_CODE ON
|
|
737
|
-
CXX_VISIBILITY_PRESET hidden
|
|
738
|
-
VISIBILITY_INLINES_HIDDEN 1
|
|
739
|
-
)
|
|
740
|
-
# note: same as above, but for Multi-Config generators
|
|
741
|
-
if(isMultiConfig)
|
|
742
|
-
foreach(CFG IN LISTS CMAKE_CONFIGURATION_TYPES)
|
|
743
|
-
string(TOUPPER "${CFG}" CFG_UPPER)
|
|
744
|
-
set_target_properties(openPMD.ADIOS1.Parallel PROPERTIES
|
|
745
|
-
COMPILE_PDB_NAME_${CFG_UPPER} opemPMD.ADIOS1.Parallel
|
|
746
|
-
ARCHIVE_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_ARCHIVE_OUTPUT_DIRECTORY}/${CFG}
|
|
747
|
-
LIBRARY_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_LIBRARY_OUTPUT_DIRECTORY}/${CFG}
|
|
748
|
-
RUNTIME_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_RUNTIME_OUTPUT_DIRECTORY}/${CFG}
|
|
749
|
-
PDB_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_PDB_OUTPUT_DIRECTORY}/${CFG}
|
|
750
|
-
COMPILE_PDB_OUTPUT_DIRECTORY_${CFG_UPPER} ${openPMD_COMPILE_PDB_OUTPUT_DIRECTORY}/${CFG}
|
|
751
|
-
)
|
|
752
|
-
endforeach()
|
|
753
|
-
endif()
|
|
754
|
-
if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
|
755
|
-
set_target_properties(openPMD.ADIOS1.Parallel PROPERTIES
|
|
756
|
-
LINK_FLAGS "-Wl,--exclude-libs,ALL")
|
|
757
|
-
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
|
|
758
|
-
set_target_properties(openPMD.ADIOS1.Parallel PROPERTIES
|
|
759
|
-
XCODE_ATTRIBUTE_STRIP_STYLE "non-global"
|
|
760
|
-
XCODE_ATTRIBUTE_DEPLOYMENT_POSTPROCESSING "YES"
|
|
761
|
-
XCODE_ATTRIBUTE_SEPARATE_STRIP "YES"
|
|
762
|
-
)
|
|
763
|
-
endif()
|
|
764
|
-
foreach(adlib ${ADIOS_LIBRARIES})
|
|
765
|
-
target_link_libraries(openPMD.ADIOS1.Parallel PRIVATE ${adlib})
|
|
766
|
-
endforeach()
|
|
767
|
-
target_link_libraries(openPMD.ADIOS1.Parallel PUBLIC ${openPMD_MPI_TARGETS})
|
|
768
|
-
|
|
769
|
-
target_include_directories(openPMD.ADIOS1.Parallel SYSTEM PRIVATE ${ADIOS_INCLUDE_DIRS})
|
|
770
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE "${ADIOS_DEFINITIONS}")
|
|
771
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_HAVE_ADIOS1=1)
|
|
772
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_HAVE_MPI=1)
|
|
773
|
-
else()
|
|
774
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_HAVE_ADIOS1=0)
|
|
775
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_HAVE_MPI=0)
|
|
776
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE _NOMPI) # ADIOS header
|
|
777
|
-
endif()
|
|
778
|
-
# This ensures that the ADIOS1 targets don't ever include Error.hpp
|
|
779
|
-
# To avoid incompatible error types in weird compile configurations
|
|
780
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE OPENPMD_ADIOS1_IMPLEMENTATION)
|
|
781
|
-
|
|
782
|
-
# Runtime parameter and API status checks ("asserts")
|
|
783
|
-
if(openPMD_USE_VERIFY)
|
|
784
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE openPMD_USE_VERIFY=1)
|
|
785
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_USE_VERIFY=1)
|
|
786
|
-
else()
|
|
787
|
-
target_compile_definitions(openPMD.ADIOS1.Serial PRIVATE openPMD_USE_VERIFY=0)
|
|
788
|
-
target_compile_definitions(openPMD.ADIOS1.Parallel PRIVATE openPMD_USE_VERIFY=0)
|
|
789
|
-
endif()
|
|
790
|
-
|
|
791
|
-
target_link_libraries(openPMD PUBLIC openPMD.ADIOS1.Serial)
|
|
792
|
-
target_link_libraries(openPMD PUBLIC openPMD.ADIOS1.Parallel)
|
|
793
|
-
else()
|
|
794
|
-
# add stubs to prevent missing symbols in Clang ASAN/UBSAN
|
|
795
|
-
target_sources(openPMD PRIVATE ${IO_ADIOS1_SEQUENTIAL_SOURCE} ${IO_ADIOS1_SOURCE})
|
|
796
|
-
endif()
|
|
797
|
-
|
|
798
521
|
# ADIOS2 Backend
|
|
799
522
|
if(openPMD_HAVE_ADIOS2)
|
|
800
523
|
if(openPMD_HAVE_MPI)
|
|
@@ -817,10 +540,8 @@ if(openPMD_HAVE_PYTHON)
|
|
|
817
540
|
src/binding/python/openPMD.cpp
|
|
818
541
|
src/binding/python/Access.cpp
|
|
819
542
|
src/binding/python/Attributable.cpp
|
|
820
|
-
src/binding/python/BaseRecord.cpp
|
|
821
543
|
src/binding/python/BaseRecordComponent.cpp
|
|
822
544
|
src/binding/python/ChunkInfo.cpp
|
|
823
|
-
src/binding/python/Container.cpp
|
|
824
545
|
src/binding/python/Dataset.cpp
|
|
825
546
|
src/binding/python/Datatype.cpp
|
|
826
547
|
src/binding/python/Error.cpp
|
|
@@ -849,14 +570,8 @@ if(openPMD_HAVE_PYTHON)
|
|
|
849
570
|
endif()
|
|
850
571
|
endif()
|
|
851
572
|
message(STATUS "Python LTO/IPO: ${_USE_PY_LTO}")
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
INTERPROCEDURAL_OPTIMIZATION ${_USE_PY_LTO})
|
|
855
|
-
else()
|
|
856
|
-
if(_USE_PY_LTO)
|
|
857
|
-
target_link_libraries(openPMD.py PRIVATE pybind11::lto)
|
|
858
|
-
endif()
|
|
859
|
-
endif()
|
|
573
|
+
set_target_properties(openPMD.py PROPERTIES
|
|
574
|
+
INTERPROCEDURAL_OPTIMIZATION ${_USE_PY_LTO})
|
|
860
575
|
unset(_USE_PY_LTO)
|
|
861
576
|
|
|
862
577
|
if(EMSCRIPTEN)
|
|
@@ -1188,6 +903,8 @@ if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|
|
1188
903
|
# /usr/lib/llvm-6.0/lib/clang/6.0.0/lib/linux/libclang_rt.ubsan_minimal-x86_64.so
|
|
1189
904
|
# at runtime when used with symbol-hidden code (e.g. pybind11 module)
|
|
1190
905
|
|
|
906
|
+
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wpedantic -Wshadow -Woverloaded-virtual -Wextra-semi -Wunreachable-code -Wsign-compare ${CMAKE_CXX_FLAGS}")
|
|
907
|
+
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
|
|
1191
908
|
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wpedantic -Wshadow -Woverloaded-virtual -Wextra-semi -Wunreachable-code -Wsign-compare ${CMAKE_CXX_FLAGS}")
|
|
1192
909
|
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
|
1193
910
|
set(CMAKE_CXX_FLAGS "-w3 -wd193,383,1572 ${CMAKE_CXX_FLAGS}")
|
|
@@ -1265,11 +982,6 @@ write_basic_package_version_file("openPMDConfigVersion.cmake"
|
|
|
1265
982
|
if(openPMD_INSTALL)
|
|
1266
983
|
set(openPMD_INSTALL_TARGET_NAMES openPMD)
|
|
1267
984
|
|
|
1268
|
-
if(openPMD_HAVE_ADIOS1)
|
|
1269
|
-
list(APPEND openPMD_INSTALL_TARGET_NAMES
|
|
1270
|
-
openPMD.ADIOS1.Serial openPMD.ADIOS1.Parallel)
|
|
1271
|
-
endif()
|
|
1272
|
-
|
|
1273
985
|
if(openPMD_BUILD_CLI_TOOLS)
|
|
1274
986
|
foreach(toolname ${openPMD_CLI_TOOL_NAMES})
|
|
1275
987
|
list(APPEND openPMD_INSTALL_TARGET_NAMES openpmd-${toolname})
|
|
@@ -1323,10 +1035,9 @@ if(openPMD_INSTALL)
|
|
|
1323
1035
|
if(openPMD_BUILD_CLI_TOOLS)
|
|
1324
1036
|
foreach(toolname ${openPMD_PYTHON_CLI_TOOL_NAMES})
|
|
1325
1037
|
install(
|
|
1326
|
-
|
|
1038
|
+
PROGRAMS ${openPMD_SOURCE_DIR}/src/cli/${toolname}.py
|
|
1327
1039
|
DESTINATION ${openPMD_INSTALL_BINDIR}
|
|
1328
1040
|
RENAME openpmd-${toolname}
|
|
1329
|
-
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
|
|
1330
1041
|
)
|
|
1331
1042
|
endforeach()
|
|
1332
1043
|
endif()
|
|
@@ -1354,11 +1065,6 @@ if(openPMD_INSTALL)
|
|
|
1354
1065
|
${openPMD_BINARY_DIR}/openPMDConfigVersion.cmake
|
|
1355
1066
|
DESTINATION ${openPMD_INSTALL_CMAKEDIR}
|
|
1356
1067
|
)
|
|
1357
|
-
install(
|
|
1358
|
-
FILES
|
|
1359
|
-
${openPMD_SOURCE_DIR}/share/openPMD/cmake/FindADIOS.cmake
|
|
1360
|
-
DESTINATION ${openPMD_INSTALL_CMAKEDIR}/Modules
|
|
1361
|
-
)
|
|
1362
1068
|
# pkg-config .pc file for depending legacy projects
|
|
1363
1069
|
# This is for projects that do not use a build file generator, e.g.
|
|
1364
1070
|
# because they compile manually on the command line or write their
|
|
@@ -1565,7 +1271,7 @@ if(openPMD_BUILD_TESTING)
|
|
|
1565
1271
|
# openpmd-pipe (python) test
|
|
1566
1272
|
if( NOT WIN32
|
|
1567
1273
|
AND openPMD_HAVE_HDF5
|
|
1568
|
-
AND
|
|
1274
|
+
AND openPMD_HAVE_ADIOS2
|
|
1569
1275
|
AND EXAMPLE_DATA_FOUND
|
|
1570
1276
|
)
|
|
1571
1277
|
if( openPMD_HAVE_MPI )
|
|
@@ -1577,18 +1283,25 @@ if(openPMD_BUILD_TESTING)
|
|
|
1577
1283
|
add_test(NAME CLI.pipe.py
|
|
1578
1284
|
COMMAND sh -c
|
|
1579
1285
|
"${MPI_TEST_EXE} ${Python_EXECUTABLE} \
|
|
1580
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1286
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1581
1287
|
--infile ../samples/git-sample/data%T.h5 \
|
|
1582
1288
|
--outfile ../samples/git-sample/data%T.bp && \
|
|
1583
1289
|
\
|
|
1584
1290
|
${MPI_TEST_EXE} ${Python_EXECUTABLE} \
|
|
1585
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1291
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1292
|
+
--infile ../samples/git-sample/data00000100.h5 \
|
|
1293
|
+
--outfile \
|
|
1294
|
+
../samples/git-sample/single_iteration_%T.bp && \
|
|
1295
|
+
\
|
|
1296
|
+
${MPI_TEST_EXE} ${Python_EXECUTABLE} \
|
|
1297
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1586
1298
|
--infile ../samples/git-sample/thetaMode/data%T.h5 \
|
|
1587
|
-
--outfile
|
|
1299
|
+
--outfile \
|
|
1300
|
+
../samples/git-sample/thetaMode/data_%T.bp && \
|
|
1588
1301
|
\
|
|
1589
|
-
${Python_EXECUTABLE}
|
|
1590
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1591
|
-
--infile ../samples/git-sample/thetaMode/
|
|
1302
|
+
${MPI_TEST_EXE} ${Python_EXECUTABLE} \
|
|
1303
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1304
|
+
--infile ../samples/git-sample/thetaMode/data_%T.bp \
|
|
1592
1305
|
--outfile ../samples/git-sample/thetaMode/data%T.json \
|
|
1593
1306
|
"
|
|
1594
1307
|
WORKING_DIRECTORY ${openPMD_RUNTIME_OUTPUT_DIRECTORY}
|
|
@@ -1597,17 +1310,17 @@ if(openPMD_BUILD_TESTING)
|
|
|
1597
1310
|
add_test(NAME CLI.pipe.py
|
|
1598
1311
|
COMMAND sh -c
|
|
1599
1312
|
"${Python_EXECUTABLE} \
|
|
1600
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1313
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1601
1314
|
--infile ../samples/git-sample/data%T.h5 \
|
|
1602
1315
|
--outfile ../samples/git-sample/data%T.bp && \
|
|
1603
1316
|
\
|
|
1604
1317
|
${Python_EXECUTABLE} \
|
|
1605
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1318
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1606
1319
|
--infile ../samples/git-sample/thetaMode/data%T.h5 \
|
|
1607
1320
|
--outfile ../samples/git-sample/thetaMode/data%T.bp && \
|
|
1608
1321
|
\
|
|
1609
1322
|
${Python_EXECUTABLE} \
|
|
1610
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1323
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1611
1324
|
--infile ../samples/git-sample/thetaMode/data%T.bp \
|
|
1612
1325
|
--outfile ../samples/git-sample/thetaMode/data%T.json \
|
|
1613
1326
|
"
|
|
@@ -1665,7 +1378,6 @@ if(openPMD_BUILD_TESTING)
|
|
|
1665
1378
|
endif()
|
|
1666
1379
|
endif()
|
|
1667
1380
|
|
|
1668
|
-
|
|
1669
1381
|
# Status Message for Build Options ############################################
|
|
1670
1382
|
#
|
|
1671
1383
|
openpmd_print_summary()
|