openPMD-api 0.15.2__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.2 → openpmd_api-0.16.0}/CMakeLists.txt +46 -341
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/PKG-INFO +32 -26
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/README.md +28 -25
- 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.2 → openpmd_api-0.16.0}/examples/10_streaming_read.cpp +12 -9
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/10_streaming_write.py +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/11_particle_dataframe.py +21 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/12_span_write.cpp +22 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/13_write_dynamic_configuration.cpp +1 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/13_write_dynamic_configuration.py +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/1_structure.cpp +1 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/2_read_serial.cpp +15 -12
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/2_read_serial.py +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/2a_read_thetaMode_serial.cpp +2 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/2a_read_thetaMode_serial.py +2 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/3_write_serial.cpp +1 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/3_write_serial.py +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/4_read_parallel.cpp +15 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/5_write_parallel.cpp +22 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/5_write_parallel.py +25 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/7_extended_write_serial.cpp +5 -10
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/7_extended_write_serial.py +5 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/8_benchmark_parallel.cpp +5 -4
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/8a_benchmark_write_parallel.cpp +5 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/8b_benchmark_read_parallel.cpp +2 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/9_particle_write_serial.py +4 -4
- {openPMD-api-0.15.2 → 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.2 → openpmd_api-0.16.0}/include/openPMD/Dataset.hpp +11 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/Datatype.hpp +53 -1
- openpmd_api-0.16.0/include/openPMD/Datatype.tpp +258 -0
- openpmd_api-0.16.0/include/openPMD/DatatypeMacros.hpp +115 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/Error.hpp +4 -3
- {openPMD-api-0.15.2 → 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.2 → 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.2 → openpmd_api-0.16.0}/include/openPMD/IO/AbstractIOHandler.hpp +41 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/AbstractIOHandlerImpl.hpp +15 -13
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/AbstractIOHandlerImplCommon.hpp +10 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/DummyIOHandler.hpp +1 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/Format.hpp +2 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/HDF5Auxiliary.hpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/HDF5IOHandlerImpl.hpp +15 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/ParallelHDF5IOHandler.hpp +2 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/ParallelHDF5IOHandlerImpl.hpp +2 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/IOTask.hpp +54 -35
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/JSON/JSONIOHandler.hpp +19 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/JSON/JSONIOHandlerImpl.hpp +61 -20
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/Iteration.hpp +42 -15
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/Mesh.hpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/ParticleSpecies.hpp +9 -18
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/ReadIterations.hpp +2 -21
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/Record.hpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/RecordComponent.hpp +108 -26
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/RecordComponent.tpp +64 -38
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/Series.hpp +188 -20
- {openPMD-api-0.15.2 → 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.2 → openpmd_api-0.16.0}/include/openPMD/WriteIterations.hpp +5 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/JSON_internal.hpp +19 -4
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Mpi.hpp +50 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/TypeTraits.hpp +77 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/UniquePtr.hpp +21 -18
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Variant.hpp +14 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/backend/Attributable.hpp +163 -17
- {openPMD-api-0.15.2 → 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.2 → openpmd_api-0.16.0}/include/openPMD/backend/BaseRecordComponent.hpp +78 -11
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/backend/Container.hpp +110 -57
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/backend/MeshRecordComponent.hpp +22 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/backend/PatchRecord.hpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/backend/PatchRecordComponent.hpp +52 -61
- {openPMD-api-0.15.2 → 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.2/src/binding/python/Container.cpp → openpmd_api-0.16.0/include/openPMD/binding/python/Container.H +31 -72
- openpmd_api-0.16.0/include/openPMD/binding/python/Mpi.hpp +100 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/binding/python/Numpy.hpp +27 -7
- {openPMD-api-0.15.2 → 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.2 → openpmd_api-0.16.0}/include/openPMD/cli/ls.hpp +2 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/config.hpp.in +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/version.hpp +2 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/openPMDConfig.cmake.in +1 -7
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/openPMD_api.egg-info/PKG-INFO +32 -26
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/openPMD_api.egg-info/SOURCES.txt +15 -109
- openpmd_api-0.16.0/openPMD_api.egg-info/requires.txt +1 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/pyproject.toml +3 -2
- openpmd_api-0.16.0/requirements.txt +1 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/setup.py +18 -12
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/share/openPMD/download_samples.sh +4 -3
- openpmd_api-0.16.0/src/ChunkInfo.cpp +168 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/Dataset.cpp +46 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/Datatype.cpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/Error.cpp +5 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/Format.cpp +9 -23
- {openPMD-api-0.15.2 → 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.2 → openpmd_api-0.16.0}/src/IO/AbstractIOHandlerHelper.cpp +41 -51
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IO/AbstractIOHandlerImpl.cpp +136 -27
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IO/DummyIOHandler.cpp +5 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IO/HDF5/HDF5Auxiliary.cpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IO/HDF5/HDF5IOHandler.cpp +298 -120
- openpmd_api-0.16.0/src/IO/HDF5/ParallelHDF5IOHandler.cpp +454 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IO/IOTask.cpp +8 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IO/InvalidatableFile.cpp +3 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IO/JSON/JSONIOHandler.cpp +22 -2
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IO/JSON/JSONIOHandlerImpl.cpp +368 -98
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/Iteration.cpp +54 -75
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/Mesh.cpp +26 -28
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/ParticlePatches.cpp +7 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/ParticleSpecies.cpp +15 -35
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/ReadIterations.cpp +20 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/Record.cpp +17 -23
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/RecordComponent.cpp +225 -83
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/Series.cpp +851 -151
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/WriteIterations.cpp +30 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/auxiliary/Filesystem.cpp +4 -2
- {openPMD-api-0.15.2 → 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.2 → openpmd_api-0.16.0}/src/backend/Attributable.cpp +171 -53
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/backend/BaseRecordComponent.cpp +64 -10
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/backend/MeshRecordComponent.cpp +22 -2
- {openPMD-api-0.15.2 → 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.2 → openpmd_api-0.16.0}/src/binding/python/Access.cpp +1 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/Attributable.cpp +201 -61
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/BaseRecordComponent.cpp +6 -9
- {openPMD-api-0.15.2 → 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.2 → openpmd_api-0.16.0}/src/binding/python/Datatype.cpp +3 -7
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/Error.cpp +9 -4
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/Helper.cpp +3 -7
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/Iteration.cpp +38 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/IterationEncoding.cpp +1 -5
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/Mesh.cpp +19 -14
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/MeshRecordComponent.cpp +30 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/ParticlePatches.cpp +9 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/ParticleSpecies.cpp +19 -9
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/PatchRecord.cpp +10 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/PatchRecordComponent.cpp +28 -10
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/Record.cpp +13 -8
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/RecordComponent.cpp +267 -248
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/Series.cpp +121 -96
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/UnitDimension.cpp +1 -5
- {openPMD-api-0.15.2 → 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.16.0/src/binding/python/openpmd_api/DataFrame.py +184 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/__init__.py +4 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/pipe/__main__.py +18 -43
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/cli/ls.cpp +1 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/config.cpp +15 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/version.cpp +3 -6
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/test/AuxiliaryTest.cpp +4 -3
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/test/CoreTest.cpp +203 -66
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/test/JSONTest.cpp +1 -1
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/test/ParallelIOTest.cpp +484 -149
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/test/SerialIOTest.cpp +890 -619
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/test/python/unittest/API/APITest.py +75 -61
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/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.0}/COPYING +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/COPYING.LESSER +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/MANIFEST.in +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/cmake/openPMDFunctions.cmake +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/10_streaming_read.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/10_streaming_write.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/12_span_write.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/3a_write_thetaMode_serial.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/3a_write_thetaMode_serial.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/3b_write_resizable_particles.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/3b_write_resizable_particles.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/4_read_parallel.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/examples/6_dump_filebased_series.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/DatatypeHelpers.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/Datatype_internal.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/AbstractFilePosition.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/AbstractIOHandlerHelper.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/Access.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/FlushParametersInternal.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/HDF5FilePosition.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/HDF5/HDF5IOHandler.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/InvalidatableFile.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IO/JSON/JSONFilePosition.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/IterationEncoding.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/ParticlePatches.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/Span.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/Streaming.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/UnitDimension.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Date.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/DerefDynamicCast.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Environment.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Export.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Filesystem.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/JSON.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/Memory.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/OutOfRangeMsg.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/ShareRaw.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/ShareRawInternal.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/auxiliary/StringManip.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/backend/ParsePreference.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/benchmark/MemoryProfiler.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/benchmark/Timer.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/BlockSlicer.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/DatasetFiller.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/MPIBenchmark.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/MPIBenchmarkReport.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/OneDimensionalBlockSlicer.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/benchmark/mpi/RandomDatasetFiller.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/binding/python/UnitDimension.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/helper/list_series.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/include/openPMD/openPMD.hpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/openPMD.pc.in +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/openPMD_api.egg-info/dependency_links.txt +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/openPMD_api.egg-info/entry_points.txt +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/openPMD_api.egg-info/not-zip-safe +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/openPMD_api.egg-info/top_level.txt +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/setup.cfg +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/share/openPMD/download_samples.ps1 +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/share/openPMD/validate_files.sh +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IO/AbstractIOHandler.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IO/FlushParams.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IO/JSON/JSONFilePosition.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/IterationEncoding.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/auxiliary/Date.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/benchmark/mpi/OneDimensionalBlockSlicer.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/DaskDataFrame.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/ls/__init__.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/ls/__main__.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/binding/python/openpmd_api/pipe/__init__.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/cli/pipe.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/src/helper/list_series.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/test/CatchMain.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/test/CatchRunner.cpp +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/test/python/unittest/API/__init__.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/test/python/unittest/TestUtilities/TestUtilities.py +0 -0
- {openPMD-api-0.15.2 → openpmd_api-0.16.0}/test/python/unittest/TestUtilities/__init__.py +0 -0
- {openPMD-api-0.15.2 → 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)
|
|
@@ -380,64 +359,6 @@ 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)
|
|
442
363
|
if(openPMD_USE_ADIOS2 STREQUAL AUTO)
|
|
443
364
|
find_package(ADIOS2 2.7.0 CONFIG)
|
|
@@ -452,50 +373,10 @@ elseif(openPMD_USE_ADIOS2)
|
|
|
452
373
|
else()
|
|
453
374
|
set(openPMD_HAVE_ADIOS2 FALSE)
|
|
454
375
|
endif()
|
|
455
|
-
|
|
456
376
|
# TODO: Check if ADIOS2 is parallel when openPMD_HAVE_MPI is ON
|
|
457
377
|
|
|
458
378
|
# 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()
|
|
379
|
+
include(${openPMD_SOURCE_DIR}/cmake/dependencies/pybind11.cmake)
|
|
499
380
|
|
|
500
381
|
|
|
501
382
|
# Targets #####################################################################
|
|
@@ -521,9 +402,9 @@ set(CORE_SOURCE
|
|
|
521
402
|
src/auxiliary/Date.cpp
|
|
522
403
|
src/auxiliary/Filesystem.cpp
|
|
523
404
|
src/auxiliary/JSON.cpp
|
|
405
|
+
src/auxiliary/Mpi.cpp
|
|
524
406
|
src/backend/Attributable.cpp
|
|
525
407
|
src/backend/BaseRecordComponent.cpp
|
|
526
|
-
src/backend/Container.cpp
|
|
527
408
|
src/backend/MeshRecordComponent.cpp
|
|
528
409
|
src/backend/PatchRecord.cpp
|
|
529
410
|
src/backend/PatchRecordComponent.cpp
|
|
@@ -544,31 +425,9 @@ set(IO_SOURCE
|
|
|
544
425
|
src/IO/JSON/JSONIOHandlerImpl.cpp
|
|
545
426
|
src/IO/JSON/JSONFilePosition.cpp
|
|
546
427
|
src/IO/ADIOS/ADIOS2IOHandler.cpp
|
|
428
|
+
src/IO/ADIOS/ADIOS2File.cpp
|
|
547
429
|
src/IO/ADIOS/ADIOS2Auxiliary.cpp
|
|
548
|
-
src/IO/ADIOS/ADIOS2PreloadAttributes.cpp
|
|
549
430
|
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
431
|
|
|
573
432
|
# library
|
|
574
433
|
if(openPMD_BUILD_SHARED_LIBS)
|
|
@@ -635,18 +494,10 @@ target_include_directories(openPMD PUBLIC
|
|
|
635
494
|
|
|
636
495
|
# Catch2 for unit tests
|
|
637
496
|
if(openPMD_BUILD_TESTING)
|
|
497
|
+
include(${openPMD_SOURCE_DIR}/cmake/dependencies/catch.cmake)
|
|
638
498
|
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
|
|
499
|
+
target_link_libraries(openPMD::thirdparty::Catch2
|
|
647
500
|
INTERFACE Catch2::Catch2)
|
|
648
|
-
message(STATUS "Catch2: Found version '${Catch2_VERSION}'")
|
|
649
|
-
endif()
|
|
650
501
|
endif()
|
|
651
502
|
|
|
652
503
|
if(openPMD_HAVE_MPI)
|
|
@@ -660,149 +511,13 @@ target_include_directories(openPMD SYSTEM PRIVATE
|
|
|
660
511
|
$<TARGET_PROPERTY:openPMD::thirdparty::toml11,INTERFACE_INCLUDE_DIRECTORIES>)
|
|
661
512
|
|
|
662
513
|
# HDF5 Backend
|
|
514
|
+
# TODO: Once we require CMake 3.20+, simply link hdf5::hdf5 C lib target
|
|
663
515
|
if(openPMD_HAVE_HDF5)
|
|
664
|
-
target_link_libraries(openPMD
|
|
516
|
+
target_link_libraries(openPMD PUBLIC ${HDF5_LIBRARIES})
|
|
665
517
|
target_include_directories(openPMD SYSTEM PRIVATE ${HDF5_INCLUDE_DIRS})
|
|
666
518
|
target_compile_definitions(openPMD PRIVATE ${HDF5_DEFINITIONS})
|
|
667
519
|
endif()
|
|
668
520
|
|
|
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
521
|
# ADIOS2 Backend
|
|
807
522
|
if(openPMD_HAVE_ADIOS2)
|
|
808
523
|
if(openPMD_HAVE_MPI)
|
|
@@ -825,10 +540,8 @@ if(openPMD_HAVE_PYTHON)
|
|
|
825
540
|
src/binding/python/openPMD.cpp
|
|
826
541
|
src/binding/python/Access.cpp
|
|
827
542
|
src/binding/python/Attributable.cpp
|
|
828
|
-
src/binding/python/BaseRecord.cpp
|
|
829
543
|
src/binding/python/BaseRecordComponent.cpp
|
|
830
544
|
src/binding/python/ChunkInfo.cpp
|
|
831
|
-
src/binding/python/Container.cpp
|
|
832
545
|
src/binding/python/Dataset.cpp
|
|
833
546
|
src/binding/python/Datatype.cpp
|
|
834
547
|
src/binding/python/Error.cpp
|
|
@@ -857,14 +570,8 @@ if(openPMD_HAVE_PYTHON)
|
|
|
857
570
|
endif()
|
|
858
571
|
endif()
|
|
859
572
|
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()
|
|
573
|
+
set_target_properties(openPMD.py PROPERTIES
|
|
574
|
+
INTERPROCEDURAL_OPTIMIZATION ${_USE_PY_LTO})
|
|
868
575
|
unset(_USE_PY_LTO)
|
|
869
576
|
|
|
870
577
|
if(EMSCRIPTEN)
|
|
@@ -1196,6 +903,8 @@ if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|
|
1196
903
|
# /usr/lib/llvm-6.0/lib/clang/6.0.0/lib/linux/libclang_rt.ubsan_minimal-x86_64.so
|
|
1197
904
|
# at runtime when used with symbol-hidden code (e.g. pybind11 module)
|
|
1198
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")
|
|
1199
908
|
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wpedantic -Wshadow -Woverloaded-virtual -Wextra-semi -Wunreachable-code -Wsign-compare ${CMAKE_CXX_FLAGS}")
|
|
1200
909
|
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
|
1201
910
|
set(CMAKE_CXX_FLAGS "-w3 -wd193,383,1572 ${CMAKE_CXX_FLAGS}")
|
|
@@ -1273,11 +982,6 @@ write_basic_package_version_file("openPMDConfigVersion.cmake"
|
|
|
1273
982
|
if(openPMD_INSTALL)
|
|
1274
983
|
set(openPMD_INSTALL_TARGET_NAMES openPMD)
|
|
1275
984
|
|
|
1276
|
-
if(openPMD_HAVE_ADIOS1)
|
|
1277
|
-
list(APPEND openPMD_INSTALL_TARGET_NAMES
|
|
1278
|
-
openPMD.ADIOS1.Serial openPMD.ADIOS1.Parallel)
|
|
1279
|
-
endif()
|
|
1280
|
-
|
|
1281
985
|
if(openPMD_BUILD_CLI_TOOLS)
|
|
1282
986
|
foreach(toolname ${openPMD_CLI_TOOL_NAMES})
|
|
1283
987
|
list(APPEND openPMD_INSTALL_TARGET_NAMES openpmd-${toolname})
|
|
@@ -1361,11 +1065,6 @@ if(openPMD_INSTALL)
|
|
|
1361
1065
|
${openPMD_BINARY_DIR}/openPMDConfigVersion.cmake
|
|
1362
1066
|
DESTINATION ${openPMD_INSTALL_CMAKEDIR}
|
|
1363
1067
|
)
|
|
1364
|
-
install(
|
|
1365
|
-
FILES
|
|
1366
|
-
${openPMD_SOURCE_DIR}/share/openPMD/cmake/FindADIOS.cmake
|
|
1367
|
-
DESTINATION ${openPMD_INSTALL_CMAKEDIR}/Modules
|
|
1368
|
-
)
|
|
1369
1068
|
# pkg-config .pc file for depending legacy projects
|
|
1370
1069
|
# This is for projects that do not use a build file generator, e.g.
|
|
1371
1070
|
# because they compile manually on the command line or write their
|
|
@@ -1572,7 +1271,7 @@ if(openPMD_BUILD_TESTING)
|
|
|
1572
1271
|
# openpmd-pipe (python) test
|
|
1573
1272
|
if( NOT WIN32
|
|
1574
1273
|
AND openPMD_HAVE_HDF5
|
|
1575
|
-
AND
|
|
1274
|
+
AND openPMD_HAVE_ADIOS2
|
|
1576
1275
|
AND EXAMPLE_DATA_FOUND
|
|
1577
1276
|
)
|
|
1578
1277
|
if( openPMD_HAVE_MPI )
|
|
@@ -1584,18 +1283,25 @@ if(openPMD_BUILD_TESTING)
|
|
|
1584
1283
|
add_test(NAME CLI.pipe.py
|
|
1585
1284
|
COMMAND sh -c
|
|
1586
1285
|
"${MPI_TEST_EXE} ${Python_EXECUTABLE} \
|
|
1587
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1286
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1588
1287
|
--infile ../samples/git-sample/data%T.h5 \
|
|
1589
1288
|
--outfile ../samples/git-sample/data%T.bp && \
|
|
1590
1289
|
\
|
|
1591
1290
|
${MPI_TEST_EXE} ${Python_EXECUTABLE} \
|
|
1592
|
-
${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 \
|
|
1593
1298
|
--infile ../samples/git-sample/thetaMode/data%T.h5 \
|
|
1594
|
-
--outfile
|
|
1299
|
+
--outfile \
|
|
1300
|
+
../samples/git-sample/thetaMode/data_%T.bp && \
|
|
1595
1301
|
\
|
|
1596
|
-
${Python_EXECUTABLE}
|
|
1597
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1598
|
-
--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 \
|
|
1599
1305
|
--outfile ../samples/git-sample/thetaMode/data%T.json \
|
|
1600
1306
|
"
|
|
1601
1307
|
WORKING_DIRECTORY ${openPMD_RUNTIME_OUTPUT_DIRECTORY}
|
|
@@ -1604,17 +1310,17 @@ if(openPMD_BUILD_TESTING)
|
|
|
1604
1310
|
add_test(NAME CLI.pipe.py
|
|
1605
1311
|
COMMAND sh -c
|
|
1606
1312
|
"${Python_EXECUTABLE} \
|
|
1607
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1313
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1608
1314
|
--infile ../samples/git-sample/data%T.h5 \
|
|
1609
1315
|
--outfile ../samples/git-sample/data%T.bp && \
|
|
1610
1316
|
\
|
|
1611
1317
|
${Python_EXECUTABLE} \
|
|
1612
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1318
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1613
1319
|
--infile ../samples/git-sample/thetaMode/data%T.h5 \
|
|
1614
1320
|
--outfile ../samples/git-sample/thetaMode/data%T.bp && \
|
|
1615
1321
|
\
|
|
1616
1322
|
${Python_EXECUTABLE} \
|
|
1617
|
-
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe
|
|
1323
|
+
${openPMD_RUNTIME_OUTPUT_DIRECTORY}/openpmd-pipe \
|
|
1618
1324
|
--infile ../samples/git-sample/thetaMode/data%T.bp \
|
|
1619
1325
|
--outfile ../samples/git-sample/thetaMode/data%T.json \
|
|
1620
1326
|
"
|
|
@@ -1672,7 +1378,6 @@ if(openPMD_BUILD_TESTING)
|
|
|
1672
1378
|
endif()
|
|
1673
1379
|
endif()
|
|
1674
1380
|
|
|
1675
|
-
|
|
1676
1381
|
# Status Message for Build Options ############################################
|
|
1677
1382
|
#
|
|
1678
1383
|
openpmd_print_summary()
|