morphio 3.3.4__tar.gz → 3.3.5__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.
Files changed (309) hide show
  1. {MorphIO-3.3.4 → MorphIO-3.3.5}/.github/workflows/clang_format_check.yaml +1 -1
  2. {MorphIO-3.3.4 → MorphIO-3.3.5}/.github/workflows/docstring_check.yaml +3 -6
  3. {MorphIO-3.3.4 → MorphIO-3.3.5}/.github/workflows/publish-sdist-wheels.yml +1 -1
  4. {MorphIO-3.3.4 → MorphIO-3.3.5}/.gitmodules +3 -0
  5. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/CMakeLists.txt +3 -0
  6. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/CMake/HighFiveConfig.cmake.in +8 -1
  7. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/CMake/HighFiveTargetDeps.cmake +36 -2
  8. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/CMake/HighFiveTargetExport.cmake +1 -0
  9. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/CMake/config/CompilerFlagsHelpers.cmake +1 -3
  10. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/CMakeLists.txt +37 -3
  11. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/Doxyfile +7 -5
  12. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/doxygen-awesome-css/doxygen-awesome.css +480 -93
  13. MorphIO-3.3.5/3rdparty/HighFive/doc/installation.md +254 -0
  14. MorphIO-3.3.5/3rdparty/HighFive/doc/poster/example_easy_h5py.py +26 -0
  15. MorphIO-3.3.5/3rdparty/HighFive/doc/poster/example_easy_highfive.cpp +28 -0
  16. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/poster/examples.js +3 -3
  17. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/poster/index.html +43 -8
  18. MorphIO-3.3.5/3rdparty/HighFive/include/highfive/H5Attribute.hpp +152 -0
  19. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/H5DataSet.hpp +12 -4
  20. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/H5DataSpace.hpp +1 -4
  21. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/H5DataType.hpp +35 -20
  22. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/H5Easy.hpp +1 -4
  23. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/H5Exception.hpp +1 -4
  24. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/H5File.hpp +36 -5
  25. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/H5FileDriver.hpp +7 -12
  26. MorphIO-3.3.5/3rdparty/HighFive/include/highfive/H5Group.hpp +88 -0
  27. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/H5Object.hpp +33 -10
  28. MorphIO-3.3.5/3rdparty/HighFive/include/highfive/H5PropertyList.hpp +604 -0
  29. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/H5Reference.hpp +6 -6
  30. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/H5Selection.hpp +11 -6
  31. MorphIO-3.3.5/3rdparty/HighFive/include/highfive/H5Utility.hpp +215 -0
  32. MorphIO-3.3.5/3rdparty/HighFive/include/highfive/H5Version.hpp.in +33 -0
  33. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits.hpp +1 -5
  34. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits_misc.hpp +5 -8
  35. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Attribute_misc.hpp +66 -26
  36. MorphIO-3.3.5/3rdparty/HighFive/include/highfive/bits/H5Converter_misc.hpp +909 -0
  37. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5DataSet_misc.hpp +1 -4
  38. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5DataType_misc.hpp +154 -53
  39. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Dataspace_misc.hpp +4 -25
  40. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Exception_misc.hpp +4 -4
  41. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5FileDriver_misc.hpp +1 -4
  42. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5File_misc.hpp +32 -19
  43. MorphIO-3.3.5/3rdparty/HighFive/include/highfive/bits/H5Friends.hpp +10 -0
  44. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Iterables_misc.hpp +1 -4
  45. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Node_traits.hpp +25 -7
  46. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Node_traits_misc.hpp +32 -14
  47. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Object_misc.hpp +11 -5
  48. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Path_traits_misc.hpp +1 -1
  49. MorphIO-3.3.5/3rdparty/HighFive/include/highfive/bits/H5PropertyList_misc.hpp +546 -0
  50. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5ReadWrite_misc.hpp +44 -7
  51. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Reference_misc.hpp +3 -4
  52. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Selection_misc.hpp +9 -4
  53. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Slice_traits.hpp +54 -13
  54. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Slice_traits_misc.hpp +94 -47
  55. MorphIO-3.3.5/3rdparty/HighFive/include/highfive/bits/H5Utils.hpp +82 -0
  56. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5_definitions.hpp +1 -12
  57. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_Eigen.hpp +1 -3
  58. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_misc.hpp +1 -4
  59. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_opencv.hpp +1 -3
  60. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_public.hpp +1 -4
  61. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_scalar.hpp +1 -4
  62. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_vector.hpp +1 -4
  63. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_xtensor.hpp +1 -3
  64. MorphIO-3.3.5/3rdparty/ghc_filesystem/CMakeLists.txt +88 -0
  65. MorphIO-3.3.5/3rdparty/ghc_filesystem/LICENSE +19 -0
  66. MorphIO-3.3.5/3rdparty/ghc_filesystem/cmake/GhcHelper.cmake +81 -0
  67. MorphIO-3.3.5/3rdparty/ghc_filesystem/cmake/config.cmake.in +6 -0
  68. MorphIO-3.3.5/3rdparty/ghc_filesystem/include/ghc/filesystem.hpp +6083 -0
  69. MorphIO-3.3.5/3rdparty/ghc_filesystem/include/ghc/fs_fwd.hpp +38 -0
  70. MorphIO-3.3.5/3rdparty/ghc_filesystem/include/ghc/fs_impl.hpp +35 -0
  71. MorphIO-3.3.5/3rdparty/ghc_filesystem/include/ghc/fs_std.hpp +60 -0
  72. MorphIO-3.3.5/3rdparty/ghc_filesystem/include/ghc/fs_std_fwd.hpp +63 -0
  73. MorphIO-3.3.5/3rdparty/ghc_filesystem/include/ghc/fs_std_impl.hpp +46 -0
  74. {MorphIO-3.3.4 → MorphIO-3.3.5}/CHANGELOG.md +11 -0
  75. {MorphIO-3.3.4 → MorphIO-3.3.5}/CMake/CompilerFlags.cmake +7 -2
  76. {MorphIO-3.3.4 → MorphIO-3.3.5}/CMakeLists.txt +7 -3
  77. {MorphIO-3.3.4 → MorphIO-3.3.5}/MANIFEST.in +7 -0
  78. {MorphIO-3.3.4 → MorphIO-3.3.5/MorphIO.egg-info}/PKG-INFO +1 -1
  79. {MorphIO-3.3.4 → MorphIO-3.3.5}/MorphIO.egg-info/SOURCES.txt +17 -2
  80. {MorphIO-3.3.4/MorphIO.egg-info → MorphIO-3.3.5}/PKG-INFO +1 -1
  81. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/bind_immutable.cpp +57 -33
  82. MorphIO-3.3.5/binds/python/bind_immutable.h +21 -0
  83. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/bind_misc.cpp +113 -0
  84. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/bind_mutable.cpp +50 -29
  85. MorphIO-3.3.5/binds/python/bind_mutable.h +22 -0
  86. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/bind_vasculature.cpp +6 -3
  87. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/bindings_utils.h +39 -0
  88. MorphIO-3.3.5/binds/python/generated/docstrings.h +1667 -0
  89. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/morphio.cpp +9 -2
  90. MorphIO-3.3.5/include/morphio/collection.h +193 -0
  91. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/morphology.h +1 -1
  92. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mut/morphology.h +4 -1
  93. {MorphIO-3.3.4 → MorphIO-3.3.5}/morphio/__init__.py +1 -0
  94. {MorphIO-3.3.4 → MorphIO-3.3.5}/pyproject.toml +3 -0
  95. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/CMakeLists.txt +4 -0
  96. MorphIO-3.3.5/src/collection.cpp +424 -0
  97. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mut/morphology.cpp +3 -0
  98. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/readers/NeurolucidaLexer.inc +86 -80
  99. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/readers/morphologyHDF5.cpp +10 -7
  100. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/readers/morphologyHDF5.h +7 -0
  101. MorphIO-3.3.5/src/shared_utils.cpp +21 -0
  102. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/shared_utils.hpp +23 -0
  103. MorphIO-3.3.4/3rdparty/HighFive/doc/mainpage.md +0 -16
  104. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/H5Attribute.hpp +0 -99
  105. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/H5Group.hpp +0 -62
  106. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/H5PropertyList.hpp +0 -307
  107. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/H5Utility.hpp +0 -40
  108. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/H5Version.hpp.in +0 -17
  109. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/bits/H5ConverterEigen_misc.hpp +0 -184
  110. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/bits/H5Converter_misc.hpp +0 -419
  111. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/bits/H5PropertyList_misc.hpp +0 -145
  112. MorphIO-3.3.4/3rdparty/HighFive/include/highfive/bits/H5Utils.hpp +0 -303
  113. MorphIO-3.3.4/binds/python/bind_immutable.h +0 -4
  114. MorphIO-3.3.4/binds/python/bind_mutable.h +0 -5
  115. MorphIO-3.3.4/binds/python/generated/docstrings.h +0 -52
  116. {MorphIO-3.3.4 → MorphIO-3.3.5}/.clang-format +0 -0
  117. {MorphIO-3.3.4 → MorphIO-3.3.5}/.github/workflows/check-sdist.yml +0 -0
  118. {MorphIO-3.3.4 → MorphIO-3.3.5}/.github/workflows/coverage_test.yaml +0 -0
  119. {MorphIO-3.3.4 → MorphIO-3.3.5}/.github/workflows/run-tests.yml +0 -0
  120. {MorphIO-3.3.4 → MorphIO-3.3.5}/.gitignore +0 -0
  121. {MorphIO-3.3.4 → MorphIO-3.3.5}/.readthedocs.yaml +0 -0
  122. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/GSL_LITE/CMakeLists.txt +0 -0
  123. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/GSL_LITE/cmake/gsl-lite-config-version.cmake.in +0 -0
  124. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/GSL_LITE/cmake/gsl-lite-config.cmake.in +0 -0
  125. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/GSL_LITE/gsl-lite.natvis +0 -0
  126. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/GSL_LITE/include/gsl/gsl +0 -0
  127. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/GSL_LITE/include/gsl/gsl-lite-vc6.hpp +0 -0
  128. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/GSL_LITE/include/gsl/gsl-lite.h +0 -0
  129. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/GSL_LITE/include/gsl/gsl-lite.hpp +0 -0
  130. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/GSL_LITE/include/gsl-lite/gsl-lite.hpp +0 -0
  131. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/GSL_LITE/include/gsl.h +0 -0
  132. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/GSL_LITE/include/gsl.hpp +0 -0
  133. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/CMake/config/ReleaseDebugAutoFlags.cmake +0 -0
  134. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/CMake/config/TestHelpers.cmake +0 -0
  135. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/CMakeLists.txt +0 -0
  136. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/DoxygenLayout.xml +0 -0
  137. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/doxygen-awesome-css/update_doxygen_awesome.sh +0 -0
  138. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/environment.yaml +0 -0
  139. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/poster/example1_hdf5.cpp +0 -0
  140. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/poster/example1_highfive.cpp +0 -0
  141. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/poster/example3.cpp +0 -0
  142. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/poster/example6.cpp +0 -0
  143. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/poster/example_boost.cpp +0 -0
  144. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/poster/example_boost_ublas.cpp +0 -0
  145. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/poster/example_eigen.cpp +0 -0
  146. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/poster/example_props.cpp +0 -0
  147. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/doc/poster/godbolt.org.ico +0 -0
  148. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/HighFive/include/highfive/bits/H5Path_traits.hpp +0 -0
  149. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/CMakeLists.txt +0 -0
  150. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/char_traits.hpp +0 -0
  151. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/debug.hpp +0 -0
  152. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/dot.hpp +0 -0
  153. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/enums.hpp +0 -0
  154. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/generate_cpp.hpp +0 -0
  155. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/generator.hpp +0 -0
  156. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/internals.hpp +0 -0
  157. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/iterator.hpp +0 -0
  158. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/licence_1_0.txt +0 -0
  159. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/lookup.hpp +0 -0
  160. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/match_results.hpp +0 -0
  161. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/memory_file.hpp +0 -0
  162. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/narrow.hpp +0 -0
  163. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/observer_ptr.hpp +0 -0
  164. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/parser.hpp +0 -0
  165. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/blocks.hpp +0 -0
  166. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/fold2.inc +0 -0
  167. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/fold4.inc +0 -0
  168. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_token.hpp +0 -0
  169. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser.hpp +0 -0
  170. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser_helper.hpp +0 -0
  171. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser_state.hpp +0 -0
  172. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/scripts.hpp +0 -0
  173. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/table.inc +0 -0
  174. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/unicode.hpp +0 -0
  175. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tree/end_node.hpp +0 -0
  176. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tree/iteration_node.hpp +0 -0
  177. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tree/leaf_node.hpp +0 -0
  178. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tree/node.hpp +0 -0
  179. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tree/selection_node.hpp +0 -0
  180. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/parser/tree/sequence_node.hpp +0 -0
  181. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/partition/charset.hpp +0 -0
  182. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/partition/equivset.hpp +0 -0
  183. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/rules.hpp +0 -0
  184. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/runtime_error.hpp +0 -0
  185. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/serialise.hpp +0 -0
  186. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/sm_to_csm.hpp +0 -0
  187. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/sm_traits.hpp +0 -0
  188. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/state_machine.hpp +0 -0
  189. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/stream_shared_iterator.hpp +0 -0
  190. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/string_token.hpp +0 -0
  191. {MorphIO-3.3.4 → MorphIO-3.3.5}/3rdparty/lexertl14/include/lexertl/utf_iterators.hpp +0 -0
  192. {MorphIO-3.3.4 → MorphIO-3.3.5}/AUTHORS.txt +0 -0
  193. {MorphIO-3.3.4 → MorphIO-3.3.5}/CMake/CodeCoverage.cmake +0 -0
  194. {MorphIO-3.3.4 → MorphIO-3.3.5}/CMake/MorphIOConfig.cmake +0 -0
  195. {MorphIO-3.3.4 → MorphIO-3.3.5}/CONTRIBUTING.md +0 -0
  196. {MorphIO-3.3.4 → MorphIO-3.3.5}/COPYING +0 -0
  197. {MorphIO-3.3.4 → MorphIO-3.3.5}/COPYING.LESSER +0 -0
  198. {MorphIO-3.3.4 → MorphIO-3.3.5}/MorphIO.egg-info/dependency_links.txt +0 -0
  199. {MorphIO-3.3.4 → MorphIO-3.3.5}/MorphIO.egg-info/not-zip-safe +0 -0
  200. {MorphIO-3.3.4 → MorphIO-3.3.5}/MorphIO.egg-info/requires.txt +0 -0
  201. {MorphIO-3.3.4 → MorphIO-3.3.5}/MorphIO.egg-info/top_level.txt +0 -0
  202. {MorphIO-3.3.4 → MorphIO-3.3.5}/README.rst +0 -0
  203. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/CMakeLists.txt +0 -0
  204. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/bind_enums.h +0 -0
  205. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/bind_misc.h +0 -0
  206. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/bind_vasculature.h +0 -0
  207. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/bindings_utils.cpp +0 -0
  208. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/generated/.clang-format +0 -0
  209. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/CMakeLists.txt +0 -0
  210. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/LICENSE +0 -0
  211. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/attr.h +0 -0
  212. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/buffer_info.h +0 -0
  213. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/cast.h +0 -0
  214. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/chrono.h +0 -0
  215. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/common.h +0 -0
  216. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/complex.h +0 -0
  217. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/detail/class.h +0 -0
  218. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/detail/common.h +0 -0
  219. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/detail/descr.h +0 -0
  220. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/detail/init.h +0 -0
  221. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/detail/internals.h +0 -0
  222. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/detail/type_caster_base.h +0 -0
  223. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/detail/typeid.h +0 -0
  224. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/eigen.h +0 -0
  225. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/embed.h +0 -0
  226. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/eval.h +0 -0
  227. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/functional.h +0 -0
  228. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/gil.h +0 -0
  229. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/iostream.h +0 -0
  230. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/numpy.h +0 -0
  231. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/operators.h +0 -0
  232. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/options.h +0 -0
  233. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/pybind11.h +0 -0
  234. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/pytypes.h +0 -0
  235. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/stl/filesystem.h +0 -0
  236. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/stl.h +0 -0
  237. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/include/pybind11/stl_bind.h +0 -0
  238. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/tools/FindCatch.cmake +0 -0
  239. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/tools/FindEigen3.cmake +0 -0
  240. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/tools/FindPythonLibsNew.cmake +0 -0
  241. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/tools/pybind11Common.cmake +0 -0
  242. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/tools/pybind11NewTools.cmake +0 -0
  243. {MorphIO-3.3.4 → MorphIO-3.3.5}/binds/python/pybind11/tools/pybind11Tools.cmake +0 -0
  244. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/dendritic_spine.h +0 -0
  245. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/endoplasmic_reticulum.h +0 -0
  246. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/enums.h +0 -0
  247. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/errorMessages.h +0 -0
  248. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/exceptions.h +0 -0
  249. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/glial_cell.h +0 -0
  250. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mito_section.h +0 -0
  251. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mitochondria.h +0 -0
  252. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mut/dendritic_spine.h +0 -0
  253. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mut/endoplasmic_reticulum.h +0 -0
  254. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mut/glial_cell.h +0 -0
  255. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mut/mito_section.h +0 -0
  256. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mut/mitochondria.h +0 -0
  257. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mut/modifiers.h +0 -0
  258. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mut/section.h +0 -0
  259. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mut/soma.h +0 -0
  260. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/mut/writers.h +0 -0
  261. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/properties.h +0 -0
  262. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/section.h +0 -0
  263. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/section_base.h +0 -0
  264. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/section_iterators.hpp +0 -0
  265. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/soma.h +0 -0
  266. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/tools.h +0 -0
  267. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/types.h +0 -0
  268. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/vasc/iterators.hpp +0 -0
  269. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/vasc/properties.h +0 -0
  270. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/vasc/section.h +0 -0
  271. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/vasc/vasculature.h +0 -0
  272. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/vector_types.h +0 -0
  273. {MorphIO-3.3.4 → MorphIO-3.3.5}/include/morphio/version.h +0 -0
  274. {MorphIO-3.3.4 → MorphIO-3.3.5}/morphio/mut/__init__.py +0 -0
  275. {MorphIO-3.3.4 → MorphIO-3.3.5}/morphio/vasculature/__init__.py +0 -0
  276. {MorphIO-3.3.4 → MorphIO-3.3.5}/setup.cfg +0 -0
  277. {MorphIO-3.3.4 → MorphIO-3.3.5}/setup.py +0 -0
  278. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/dendritic_spine.cpp +0 -0
  279. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/endoplasmic_reticulum.cpp +0 -0
  280. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/enums.cpp +0 -0
  281. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/errorMessages.cpp +0 -0
  282. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/glial_cell.cpp +0 -0
  283. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mito_section.cpp +0 -0
  284. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mitochondria.cpp +0 -0
  285. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/morphology.cpp +0 -0
  286. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mut/dendritic_spine.cpp +0 -0
  287. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mut/endoplasmic_reticulum.cpp +0 -0
  288. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mut/glial_cell.cpp +0 -0
  289. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mut/mito_section.cpp +0 -0
  290. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mut/mitochondria.cpp +0 -0
  291. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mut/modifiers.cpp +0 -0
  292. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mut/section.cpp +0 -0
  293. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mut/soma.cpp +0 -0
  294. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/mut/writers.cpp +0 -0
  295. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/point_utils.cpp +0 -0
  296. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/point_utils.h +0 -0
  297. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/properties.cpp +0 -0
  298. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/readers/morphologyASC.cpp +0 -0
  299. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/readers/morphologyASC.h +0 -0
  300. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/readers/morphologySWC.cpp +0 -0
  301. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/readers/morphologySWC.h +0 -0
  302. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/readers/vasculatureHDF5.cpp +0 -0
  303. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/readers/vasculatureHDF5.h +0 -0
  304. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/section.cpp +0 -0
  305. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/soma.cpp +0 -0
  306. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/vasc/properties.cpp +0 -0
  307. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/vasc/section.cpp +0 -0
  308. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/vasc/vasculature.cpp +0 -0
  309. {MorphIO-3.3.4 → MorphIO-3.3.5}/src/version.cpp.in +0 -0
@@ -4,7 +4,7 @@ on: [pull_request, push]
4
4
  jobs:
5
5
  build:
6
6
  name: clang-format-check
7
- runs-on: ubuntu-18.04
7
+ runs-on: ubuntu-22.04
8
8
 
9
9
  # Run on external PRs, but not internal PRs as they'll be run by the push
10
10
  if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
@@ -4,7 +4,7 @@ on: [pull_request, push]
4
4
  jobs:
5
5
  build:
6
6
  name: docstring-check
7
- runs-on: ubuntu-18.04
7
+ runs-on: ubuntu-20.04
8
8
 
9
9
  # Run on external PRs, but not internal PRs as they'll be run by the push
10
10
  if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
@@ -15,11 +15,8 @@ jobs:
15
15
  with:
16
16
  submodules: recursive
17
17
  - name: Install packages
18
- run: sudo apt-get update && sudo apt-get install build-essential libhdf5-dev python3-venv libclang1-9
18
+ run: sudo apt-get update && sudo apt-get install build-essential libhdf5-dev python3-venv libclang1-12
19
19
  - name: Check docstrings
20
20
  run: |
21
- export LIBCLANG_PATH=/usr/lib/x86_64-linux-gnu/libclang-9.so.1
22
- ci/check_generated_docstrings.sh || true
23
-
24
- export LIBCLANG_PATH=libLLVM-10.so.1
21
+ export LIBCLANG_PATH=/usr/lib/x86_64-linux-gnu/libclang-12.so
25
22
  ci/check_generated_docstrings.sh || true
@@ -4,7 +4,7 @@ on: [pull_request, push]
4
4
  env:
5
5
  CIBW_BUILD_VERBOSITY: 3
6
6
  CIBW_BUILD: 'cp*'
7
- CIBW_SKIP: 'cp35-* cp36-* *-manylinux_i686 *-musllinux_* *-win32 cp311-win_amd64 cp311-macosx_x86_64'
7
+ CIBW_SKIP: 'cp35-* cp36-* *-manylinux_i686 *-musllinux_* *-win32 cp311-macosx_x86_64'
8
8
  CIBW_BEFORE_TEST: pip install -r {project}/tests/requirement_tests.txt
9
9
  CIBW_TEST_COMMAND: pytest -s -v {project}/tests
10
10
 
@@ -13,3 +13,6 @@
13
13
  [submodule "3rdparty/Catch2"]
14
14
  path = 3rdparty/Catch2
15
15
  url = https://github.com/catchorg/Catch2.git
16
+ [submodule "3rdparty/ghc_filesystem"]
17
+ path = 3rdparty/ghc_filesystem
18
+ url = https://github.com/gulrak/filesystem.git
@@ -14,3 +14,6 @@ target_include_directories(gsl-lite SYSTEM INTERFACE)
14
14
 
15
15
  add_library(lexertl INTERFACE)
16
16
  target_include_directories(lexertl SYSTEM INTERFACE lexertl14/include)
17
+
18
+ add_subdirectory(ghc_filesystem)
19
+
@@ -15,6 +15,8 @@ if(TARGET HighFive)
15
15
  return()
16
16
  endif()
17
17
 
18
+ @PACKAGE_INIT@
19
+
18
20
  # Get HighFive targets
19
21
  include("${CMAKE_CURRENT_LIST_DIR}/HighFiveTargets.cmake")
20
22
 
@@ -55,13 +57,18 @@ endif()
55
57
  set(HIGHFIVE_USE_EIGEN "${HIGHFIVE_USE_EIGEN}" CACHE BOOL "Enable Eigen testing")
56
58
  set(HIGHFIVE_USE_XTENSOR "${HIGHFIVE_USE_XTENSOR}" CACHE BOOL "Enable xtensor testing")
57
59
  set(HIGHFIVE_PARALLEL_HDF5 @HIGHFIVE_PARALLEL_HDF5@ CACHE BOOL "Enable Parallel HDF5 support")
60
+ option(HIGHFIVE_VERBOSE "Enable verbose logging" @HIGHFIVE_VERBOSE@)
58
61
 
59
62
  if(HIGHFIVE_USE_XTENSOR AND NOT CMAKE_VERSION VERSION_LESS 3.8)
60
63
  set_property(TARGET HighFive APPEND PROPERTY INTERFACE_COMPILE_FEATURES cxx_std_14)
61
64
  endif()
62
65
 
63
- message(STATUS "HIGHFIVE @PROJECT_VERSION@: (Re)Detecting Highfive dependencies (HIGHFIVE_USE_INSTALL_DEPS=NO)")
66
+ if(NOT HighFive_FIND_QUIETLY)
67
+ message(STATUS "HIGHFIVE @PROJECT_VERSION@: (Re)Detecting Highfive dependencies (HIGHFIVE_USE_INSTALL_DEPS=NO)")
68
+ endif()
64
69
  include("${CMAKE_CURRENT_LIST_DIR}/HighFiveTargetDeps.cmake")
65
70
  foreach(dependency HighFive_libheaders libdeps)
66
71
  copy_interface_properties(HighFive ${dependency})
67
72
  endforeach()
73
+
74
+ check_required_components(HighFive)
@@ -6,9 +6,25 @@ if(NOT TARGET libdeps)
6
6
  # Independent target to make it possible to have new dependencies each build
7
7
  add_library(libdeps INTERFACE)
8
8
 
9
+ if(HIGHFIVE_VERBOSE)
10
+ target_compile_definitions(libdeps INTERFACE -DHIGHFIVE_LOG_LEVEL=0)
11
+ endif()
12
+
13
+ if(HIGHFIVE_GLIBCXX_ASSERTIONS)
14
+ target_compile_definitions(libdeps INTERFACE -D_GLIBCXX_ASSERTIONS)
15
+ endif()
16
+
17
+ if(HIGHFIVE_HAS_FRIEND_DECLARATIONS)
18
+ target_compile_definitions(libdeps INTERFACE -DHIGHFIVE_HAS_FRIEND_DECLARATIONS=1)
19
+ endif()
20
+
21
+ if(HIGHFIVE_SANITIZER)
22
+ target_compile_options(libdeps INTERFACE -fsanitize=${HIGHFIVE_SANITIZER})
23
+ target_link_options(libdeps INTERFACE -fsanitize=${HIGHFIVE_SANITIZER})
24
+ endif()
25
+
9
26
  # HDF5
10
27
  if(NOT DEFINED HDF5_C_LIBRARIES)
11
- set(HDF5_NO_FIND_PACKAGE_CONFIG_FILE TRUE) # Consistency
12
28
  set(HDF5_PREFER_PARALLEL ${HIGHFIVE_PARALLEL_HDF5})
13
29
  find_package(HDF5 REQUIRED)
14
30
  endif()
@@ -23,13 +39,31 @@ if(NOT TARGET libdeps)
23
39
 
24
40
  # Boost
25
41
  if(HIGHFIVE_USE_BOOST)
26
- set(Boost_NO_BOOST_CMAKE TRUE) # Consistency
42
+ if(NOT DEFINED Boost_NO_BOOST_CMAKE)
43
+ # HighFive deactivated finding Boost via Boost's own CMake files
44
+ # in Oct 2016 (commit '25627b085'). Likely to appease one cluster.
45
+ # Boost's CMake support has since improved and likely this setting
46
+ # isn't needed anymore. It is kept for backwards compatibility.
47
+ # However, a rework of HighFive's CMake code should consider removing
48
+ # this default. Hard coding this to true has been reported to cause
49
+ # build failures.
50
+ set(Boost_NO_BOOST_CMAKE TRUE)
51
+ endif()
27
52
  find_package(Boost REQUIRED COMPONENTS system serialization)
28
53
  # Dont use imported targets yet, not avail before cmake 3.5
29
54
  target_include_directories(libdeps SYSTEM INTERFACE ${Boost_INCLUDE_DIR})
30
55
  target_compile_definitions(libdeps INTERFACE BOOST_ALL_NO_LIB H5_USE_BOOST)
31
56
  endif()
32
57
 
58
+ # Half
59
+ if(HIGHFIVE_USE_HALF_FLOAT)
60
+ find_file(FOUND_HALF half.hpp)
61
+ if (NOT FOUND_HALF)
62
+ message(FATAL_ERROR "Half-precision floating-point support requested but file half.hpp not found")
63
+ endif()
64
+ target_compile_definitions(libdeps INTERFACE H5_USE_HALF_FLOAT)
65
+ endif()
66
+
33
67
  # Eigen
34
68
  if(HIGHFIVE_USE_EIGEN)
35
69
  if (NOT EIGEN3_INCLUDE_DIRS)
@@ -4,6 +4,7 @@ add_library(libheaders INTERFACE)
4
4
 
5
5
  target_include_directories(libheaders INTERFACE
6
6
  "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
7
+ "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>"
7
8
  "$<INSTALL_INTERFACE:include>")
8
9
 
9
10
  # Combined HighFive
@@ -35,9 +35,7 @@ foreach(COMPILER_LANGUAGE ${SUPPORTED_COMPILER_LANGUAGE_LIST})
35
35
  OR CMAKE_${COMPILER_LANGUAGE}_COMPILER_ID MATCHES "GNU"
36
36
  OR CMAKE_${COMPILER_LANGUAGE}_COMPILER_ID MATCHES "Intel")
37
37
  set(CMAKE_${COMPILER_LANGUAGE}_WARNING_ALL " -Wall -Wextra")
38
- string(CONCAT CMAKE_${COMPILER_LANGUAGE}_WARNING_DEBUG
39
- " -Werror -Wshadow -Wnon-virtual-dtor -Wunused -Woverloaded-virtual"
40
- " -Wformat=2 -Wconversion -Wsign-conversion -Wno-error=deprecated-declarations"
38
+ string(CONCAT CMAKE_${COMPILER_LANGUAGE}_WARNING_DEBUG " -Werror -Wshadow -Wnon-virtual-dtor -Wunused -Woverloaded-virtual -Wformat=2 -Wconversion -Wsign-conversion -Wno-error=deprecated-declarations"
41
39
  )
42
40
  if(NOT CMAKE_${COMPILER_LANGUAGE}_COMPILER_IS_ICC)
43
41
  string(CONCAT CMAKE_${COMPILER_LANGUAGE}_WARNING_DEBUG
@@ -5,7 +5,7 @@ else()
5
5
  cmake_policy(VERSION 3.13)
6
6
  endif()
7
7
 
8
- project(HighFive VERSION 2.4.1)
8
+ project(HighFive VERSION 2.7.1)
9
9
 
10
10
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/highfive/H5Version.hpp.in
11
11
  ${CMAKE_CURRENT_BINARY_DIR}/include/highfive/H5Version.hpp)
@@ -27,12 +27,45 @@ set(HIGHFIVE_UNIT_TESTS AUTO CACHE STRING "Enable unit tests (requires Catch2 to
27
27
  set_property(CACHE HIGHFIVE_UNIT_TESTS PROPERTY STRINGS AUTO ON OFF)
28
28
 
29
29
  option(HIGHFIVE_USE_BOOST "Enable Boost Support" ${USE_BOOST})
30
+ option(HIGHFIVE_USE_HALF_FLOAT "Enable half-precision floats" ${USE_HALF_FLOAT})
30
31
  option(HIGHFIVE_USE_EIGEN "Enable Eigen testing" ${USE_EIGEN})
31
32
  option(HIGHFIVE_USE_OPENCV "Enable OpenCV testing" ${USE_OPENCV})
32
33
  option(HIGHFIVE_USE_XTENSOR "Enable xtensor testing" ${USE_XTENSOR})
33
34
  option(HIGHFIVE_EXAMPLES "Compile examples" ON)
34
35
  option(HIGHFIVE_PARALLEL_HDF5 "Enable Parallel HDF5 support" OFF)
35
36
  option(HIGHFIVE_BUILD_DOCS "Enable documentation building" ON)
37
+ option(HIGHFIVE_VERBOSE "Set logging level to verbose." OFF)
38
+ option(HIGHFIVE_GLIBCXX_ASSERTIONS "Enable bounds check for STL." OFF)
39
+
40
+ # Controls if HighFive classes are friends of each other.
41
+ #
42
+ # There are two compiler bugs that require incompatible choices. The
43
+ # GCC compiler bug [1] prevents us from writing:
44
+ #
45
+ # template<class D>
46
+ # friend class NodeTraits<D>;
47
+ #
48
+ # While a MSVC compiler bug [2] complains that it can't access a
49
+ # protected constructor, e.g., `HighFive::Object::Object`.
50
+ #
51
+ # Starting with `2.7.0` these friend declarations don't matter
52
+ # anymore. It's mearly a means of appeasing a compiler.
53
+ #
54
+ # The values of `HIGHFIVE_HAS_FRIEND_DECLARATIONS` are:
55
+ # - that the macro is undefined.
56
+ # - `0` which implies not adding the friend declarations.
57
+ # - any non-zero integer, i.e. `1`, to add the friend declarations.
58
+ #
59
+ # Not defining the macro implies that it'll be set to `1` if MSVC is
60
+ # detected (or other compilers requiring the friend declarations).
61
+ #
62
+ # [1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52625
63
+ # [2]: https://developercommunity.visualstudio.com/t/MSVC-compiler-improperly-implements-N489/1516410
64
+ option(HIGHFIVE_HAS_FRIEND_DECLARATIONS "Enable additional friend declarations. Certain compiler require this On, others Off." OFF)
65
+ mark_as_advanced(HIGHFIVE_HAS_FRIEND_DECLARATIONS)
66
+
67
+ set(HIGHFIVE_SANITIZER OFF CACHE STRING "Enable a group of sanitizers, requires compiler support. Supported: 'address' and 'undefined'.")
68
+ mark_as_advanced(HIGHFIVE_SANITIZER)
36
69
 
37
70
  # In deployments we probably don't want/cant have dynamic dependencies
38
71
  option(HIGHFIVE_USE_INSTALL_DEPS "End applications by default use detected dependencies here" OFF)
@@ -52,11 +85,12 @@ if(NOT DEFINED CMAKE_CXX_STANDARD)
52
85
  set(CMAKE_CXX_EXTENSIONS OFF)
53
86
  endif()
54
87
 
55
- if(HIGHFIVE_USE_XTENSOR)
88
+ if(HIGHFIVE_USE_XTENSOR AND CMAKE_CXX_STANDARD LESS 14)
56
89
  set(CMAKE_CXX_STANDARD 14)
57
90
  set(CMAKE_CXX_STANDARD_REQUIRED ON)
58
91
  endif()
59
92
 
93
+ add_compile_definitions(HIGHFIVE_CXX_STD=${CMAKE_CXX_STANDARD})
60
94
 
61
95
  # Search dependencies (hdf5, boost, eigen, xtensor, mpi) and build target highfive_deps
62
96
  include(${PROJECT_SOURCE_DIR}/CMake/HighFiveTargetDeps.cmake)
@@ -79,7 +113,7 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
79
113
 
80
114
  # Disable test if Boost was expressly disabled, or if HighFive is a sub-project
81
115
  if (NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
82
- if(HIGHFIVE_UNIT_TESTS)
116
+ if(HIGHFIVE_UNIT_TESTS AND NOT HighFive_FIND_QUIETLY)
83
117
  message(WARNING "Unit tests have been DISABLED.")
84
118
  endif()
85
119
  set(HIGHFIVE_UNIT_TESTS FALSE)
@@ -865,7 +865,9 @@ WARN_LOGFILE =
865
865
  # Note: If this tag is empty the current directory is searched.
866
866
 
867
867
  INPUT = @CMAKE_CURRENT_SOURCE_DIR@/../include \
868
- @CMAKE_CURRENT_SOURCE_DIR@/mainpage.md
868
+ @CMAKE_CURRENT_SOURCE_DIR@/installation.md \
869
+ @CMAKE_CURRENT_SOURCE_DIR@/../CHANGELOG.md \
870
+ @CMAKE_CURRENT_SOURCE_DIR@/../README.md
869
871
 
870
872
  # This tag can be used to specify the character encoding of the source files
871
873
  # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -1061,7 +1063,7 @@ FILTER_SOURCE_PATTERNS =
1061
1063
  # (index.html). This can be useful if you have a project on for instance GitHub
1062
1064
  # and want to reuse the introduction page also for the doxygen output.
1063
1065
 
1064
- USE_MDFILE_AS_MAINPAGE =
1066
+ USE_MDFILE_AS_MAINPAGE = @CMAKE_CURRENT_SOURCE_DIR@/../README.md
1065
1067
 
1066
1068
  #---------------------------------------------------------------------------
1067
1069
  # Configuration options related to source browsing
@@ -2176,7 +2178,7 @@ ENABLE_PREPROCESSING = YES
2176
2178
  # The default value is: NO.
2177
2179
  # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2178
2180
 
2179
- MACRO_EXPANSION = NO
2181
+ MACRO_EXPANSION = YES
2180
2182
 
2181
2183
  # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
2182
2184
  # the macro expansion is limited to the macros specified with the PREDEFINED and
@@ -2184,7 +2186,7 @@ MACRO_EXPANSION = NO
2184
2186
  # The default value is: NO.
2185
2187
  # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2186
2188
 
2187
- EXPAND_ONLY_PREDEF = NO
2189
+ EXPAND_ONLY_PREDEF = YES
2188
2190
 
2189
2191
  # If the SEARCH_INCLUDES tag is set to YES, the include files in the
2190
2192
  # INCLUDE_PATH will be searched if a #include is found.
@@ -2216,7 +2218,7 @@ INCLUDE_FILE_PATTERNS =
2216
2218
  # recursively expanded use the := operator instead of the = operator.
2217
2219
  # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2218
2220
 
2219
- PREDEFINED =
2221
+ PREDEFINED = H5_HAVE_PARALLEL H5_USE_EIGEN H5_USE_BOOST H5_USE_OPENCV H5_USE_XTENSOR H5_USE_HALF_FLOAT H5_DEPRECATED(x):=
2220
2222
 
2221
2223
  # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
2222
2224
  # tag can be used to specify a list of macro names that should be expanded. The