Consolidate documentation under docs/ directory (#6310)

* Consolidate documentation under doc/ directory

Move user-facing guides from release_docs/ and doxygen/ into a single
doc/ root. release_docs/ now holds only release artifacts (changelogs,
history, release process, maintainer info).

- git mv release_docs/INSTALL*.md, USING_*.md, README_HPC.md,
  BuildSystemNotes.md, AutotoolsToCMakeOptions.md,
  HDF5_Library_2.0.0_Migration_Guide.md → doc/
- git mv doxygen/ → doc/doxygen/
- Update CMakeLists.txt: HDF5_DOXYGEN_DIR and add_subdirectory path
- Update CMakeInstallation.cmake: all install paths for moved files
- Update bin/make_vers: hardcoded doxygen/ path substitution
- Update doc/doxygen/CMakeLists.txt: EXAMPLES_DIRECTORY and comments
- Update README.md, CONTRIBUTING.md, SECURITY.md, config/README.md,
  release_docs/RELEASE_PROCESS.md: links to moved files
- Update doxygen .dox files: release_docs/ URLs for moved guides
- Rewrite release_docs/README.md for narrowed scope

* Add HDF5_DOCS_DIR variable for doc/ root path

Introduce HDF5_DOCS_DIR = \${HDF5_SOURCE_DIR}/doc so that
CMakeInstallation.cmake and future callers reference the doc/
directory symbolically rather than by hardcoded path.
HDF5_DOXYGEN_DIR is now derived from HDF5_DOCS_DIR.
This commit is contained in:
Scot Breitenfeld
2026-03-31 17:01:54 -06:00
committed by GitHub
parent 9ba9b7153f
commit 05676d1abe
424 changed files with 107 additions and 167 deletions
+2 -2
View File
@@ -7,7 +7,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
@@ -17,7 +17,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
+2 -2
View File
@@ -7,7 +7,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
@@ -17,7 +17,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
+2 -2
View File
@@ -7,7 +7,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
@@ -17,7 +17,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
+2 -2
View File
@@ -7,7 +7,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
@@ -17,7 +17,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
+2 -2
View File
@@ -7,7 +7,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
@@ -17,7 +17,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
+2 -2
View File
@@ -7,7 +7,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
@@ -17,7 +17,7 @@ on:
paths-ignore:
- '.github/CODEOWNERS'
- '.github/FUNDING.yml'
- 'doc/**'
- 'docs/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'LICENSE**'
+9 -9
View File
@@ -232,7 +232,7 @@ if (HDF5_PACK_EXAMPLES)
)
install (
FILES
${HDF5_SOURCE_DIR}/release_docs/USING_CMake_Examples.md
${HDF5_DOCS_DIR}/USING_CMake_Examples.md
DESTINATION ${HDF5_INSTALL_DATA_DIR}
COMPONENT hdfdocuments
)
@@ -271,40 +271,40 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
DESTINATION ${HDF5_INSTALL_DATA_DIR}
COMPONENT hdfdocuments
)
if (EXISTS "${HDF5_SOURCE_DIR}/release_docs" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/release_docs")
if (EXISTS "${HDF5_DOCS_DIR}" AND IS_DIRECTORY "${HDF5_DOCS_DIR}")
set (release_files
${HDF5_SOURCE_DIR}/release_docs/USING_HDF5_CMake.md
${HDF5_DOCS_DIR}/USING_HDF5_CMake.md
${HDF5_SOURCE_DIR}/release_docs/CHANGELOG.md
)
if (WIN32)
set (release_files
${release_files}
${HDF5_SOURCE_DIR}/release_docs/USING_HDF5_VS.md
${HDF5_DOCS_DIR}/USING_HDF5_VS.md
)
endif ()
if (HDF5_PACK_INSTALL_DOCS)
set (release_files
${release_files}
${HDF5_SOURCE_DIR}/release_docs/INSTALL_CMake.md
${HDF5_DOCS_DIR}/INSTALL_CMake.md
${HDF5_SOURCE_DIR}/release_docs/HISTORY-1_8.txt
${HDF5_SOURCE_DIR}/release_docs/INSTALL
${HDF5_DOCS_DIR}/INSTALL.md
)
if (WIN32)
set (release_files
${release_files}
${HDF5_SOURCE_DIR}/release_docs/INSTALL_Windows.md
${HDF5_DOCS_DIR}/INSTALL_Windows.md
)
endif ()
if (CYGWIN)
set (release_files
${release_files}
${HDF5_SOURCE_DIR}/release_docs/INSTALL_Cygwin.md
${HDF5_DOCS_DIR}/INSTALL_Cygwin.md
)
endif ()
if (HDF5_ENABLE_PARALLEL)
set (release_files
${release_files}
${HDF5_SOURCE_DIR}/release_docs/README_HPC.md
${HDF5_DOCS_DIR}/README_HPC.md
)
endif ()
endif ()
+3 -2
View File
@@ -328,7 +328,8 @@ set (HDF5_JAVA_JSRC_DIR ${HDF5_SOURCE_DIR}/java/jsrc)
set (HDF5_JAVA_LOGGING_JAR ${HDF5_SOURCE_DIR}/java/lib/slf4j-api-2.0.16.jar)
set (HDF5_JAVA_LOGGING_NOP_JAR ${HDF5_SOURCE_DIR}/java/lib/ext/slf4j-nop-2.0.16.jar)
set (HDF5_JAVA_LOGGING_SIMPLE_JAR ${HDF5_SOURCE_DIR}/java/lib/ext/slf4j-simple-2.0.16.jar)
set (HDF5_DOXYGEN_DIR ${HDF5_SOURCE_DIR}/doxygen)
set (HDF5_DOCS_DIR ${HDF5_SOURCE_DIR}/docs)
set (HDF5_DOXYGEN_DIR ${HDF5_DOCS_DIR}/doxygen)
set (HDF5_SRC_INCLUDE_DIRS ${HDF5_SRC_DIR})
@@ -1169,7 +1170,7 @@ if (HDF5_BUILD_DOC AND EXISTS "${HDF5_DOXYGEN_DIR}" AND IS_DIRECTORY "${HDF5_DOX
# the case where Doxygen is not found or HDF5_BUILD_DOC is OFF.
add_custom_target (doxygen)
add_subdirectory (doxygen)
add_subdirectory (docs/doxygen)
else ()
message (WARNING "Doxygen needs to be installed to generate the doxygen documentation")
endif ()
+3 -3
View File
@@ -145,8 +145,8 @@ Here's where to find things in the source tree:
* **`java/`**: JNI/Java language wrapper
* **`bin/`**: Build scripts and miscellaneous tools
* **`config/`**: Configuration files for CMake
* **`doxygen/`**: Doxygen build files and documentation
* **`release_docs/`**: Install instructions and release notes
* **`docs/`**: User guides, installation instructions, and Doxygen API documentation
* **`release_docs/`**: Changelogs, version history, and release process
* **`utils/`**: Small utility programs
---
@@ -245,7 +245,7 @@ Use HDF5's internal memory management instead of direct `malloc`/`free`:
- Update documentation as needed.
4. **Build and test thoroughly**
- Follow build instructions in `release_docs/INSTALL*` files.
- Follow build instructions in `docs/INSTALL*` files.
- Ensure all tests pass.
5. **Submit a pull request (PR)**
+13 -13
View File
@@ -25,11 +25,11 @@ tools, and services at [The HDF Group's website](https://www.hdfgroup.org/).
## Quick Start
- **New to HDF5?** Start with the [INSTALL.md](release_docs/INSTALL.md) guide for compilation and installation instructions.
- **New to HDF5?** Start with the [INSTALL.md](docs/INSTALL.md) guide for compilation and installation instructions.
- **Ready to build?** See [INSTALL_CMake.md](release_docs/INSTALL_CMake.md) for CMake-based builds.
- **Ready to build?** See [INSTALL_CMake.md](docs/INSTALL_CMake.md) for CMake-based builds.
- **Running on HPC?** Check out [README_HPC.md](release_docs/README_HPC.md) for parallel HDF5 configuration.
- **Running on HPC?** Check out [README_HPC.md](docs/README_HPC.md) for parallel HDF5 configuration.
## Table of Contents
@@ -56,17 +56,17 @@ to the features and updates included in this release of the library.
### Platform-Specific Guides
Several files in the [release_docs/][u4] directory provide platform-specific details:
Several files in the [docs/][u4] directory provide platform-specific details:
| File | Description |
|------|-------------|
| [INSTALL](release_docs/INSTALL.md) | General compilation and installation instructions (start here) |
| [INSTALL_CMake.md](release_docs/INSTALL_CMake.md) | Building with CMake |
| [README_HPC.md](release_docs/README_HPC.md) | Building and configuring Parallel HDF5 on HPC systems |
| [INSTALL_Windows.md](release_docs/INSTALL_Windows.md) | Windows installation |
| [INSTALL_Cygwin.md](release_docs/INSTALL_Cygwin.md) | Cygwin installation |
| [USING_HDF5_CMake.md](release_docs/USING_HDF5_CMake.md) | Building HDF5 applications with CMake |
| [USING_CMake_Examples.md](release_docs/USING_CMake_Examples.md) | Building and testing HDF5 examples with CMake |
| [INSTALL](docs/INSTALL.md) | General compilation and installation instructions (start here) |
| [INSTALL_CMake.md](docs/INSTALL_CMake.md) | Building with CMake |
| [README_HPC.md](docs/README_HPC.md) | Building and configuring Parallel HDF5 on HPC systems |
| [INSTALL_Windows.md](docs/INSTALL_Windows.md) | Windows installation |
| [INSTALL_Cygwin.md](docs/INSTALL_Cygwin.md) | Cygwin installation |
| [USING_HDF5_CMake.md](docs/USING_HDF5_CMake.md) | Building HDF5 applications with CMake |
| [USING_CMake_Examples.md](docs/USING_CMake_Examples.md) | Building and testing HDF5 examples with CMake |
## Help and Support
@@ -173,5 +173,5 @@ If you use HDF5 in your research, please cite it. This repository includes a [`C
[u1]: https://github.com/HDFGroup/hdf5/blob/develop/release_docs/CHANGELOG.md
[u2]: https://github.com/HDFGroup/hdf5/blob/develop/release_docs/img/release-schedule.png
[u3]: https://github.com/HDFGroup/hdf5/blob/develop/doxygen/img/HDF5.png
[u4]: https://github.com/HDFGroup/hdf5/blob/develop/release_docs
[u3]: https://github.com/HDFGroup/hdf5/blob/develop/docs/doxygen/img/HDF5.png
[u4]: https://github.com/HDFGroup/hdf5/blob/develop/docs
+1 -1
View File
@@ -95,7 +95,7 @@ HDF5-specific practices:
- **Artifact Verification:** All binaries and source tarballs on [GitHub Releases](https://github.com/HDFGroup/hdf5/releases) include SHA-256 checksums. Users should verify downloaded artifacts against these checksums.
- **SBOM:** We provide CycloneDX SBOM fragments for core, tools, and plugins where applicable.
- **Fuzzing:** Continuous fuzzing of HDF5 file parsing and API entry points via OSS-Fuzz.
- **Build from Source:** General build instructions are available in [release_docs/INSTALL](release_docs/INSTALL).
- **Build from Source:** General build instructions are available in [docs/INSTALL.md](docs/INSTALL.md).
---
+2 -2
View File
@@ -487,7 +487,7 @@ sub create_doxygen_cmake ($) {
# Output to doxygen directory (relative to src/)
my $doxygen_dir = $prefix;
$doxygen_dir =~ s/src\/?$/doxygen\//; # Replace "src/" with "doxygen/"
$doxygen_dir =~ s/src\/?$/docs\/doxygen\//; # Replace "src/" with "docs/doxygen/"
# Create doxygen directory if it doesn't exist
if ($doxygen_dir ne "" && ! -d $doxygen_dir) {
@@ -549,7 +549,7 @@ for $file (@ARGV) {
# Create header files
print "Generating 'H5version.h'\n";
create_public($prefix);
print "Generating 'doxygen/H5version_doxygen.cmake'\n";
print "Generating 'docs/doxygen/H5version_doxygen.cmake'\n";
create_doxygen_cmake($prefix);
}
+7 -7
View File
@@ -21,11 +21,11 @@ This directory contains a few important things:
* Example install scripts (in `examples`)
* Installation support files (in `install`)
CMake is documented in the following in the root's `release_docs` folder files:
CMake is documented in the following files in the `docs/` directory:
* [INSTALL.md](../release_docs/INSTALL.md)
* [INSTALL_CMake.md](../release_docs/INSTALL_CMake.md)
* [USING_HDF5_CMake.md](../release_docs/USING_HDF5_CMake.md)
* [USING_HDF5_VS.md](../release_docs/USING_HDF5_VS.md)
* [INSTALL_Windows.md](../release_docs/INSTALL_Windows.md)
* [USING_CMake_Examples.md](../release_docs/USING_CMake_Examples.md)
* [INSTALL.md](../docs/INSTALL.md)
* [INSTALL_CMake.md](../docs/INSTALL_CMake.md)
* [USING_HDF5_CMake.md](../docs/USING_HDF5_CMake.md)
* [USING_HDF5_VS.md](../docs/USING_HDF5_VS.md)
* [INSTALL_Windows.md](../docs/INSTALL_Windows.md)
* [USING_CMake_Examples.md](../docs/USING_CMake_Examples.md)
@@ -20,7 +20,7 @@ CMake builds include a number of CMake specific files for support of CMake's fin
## Introduction
The table below shows the equivalent CMake build options that match those from Autotools. See the
[release_docs/INSTALL_CMake.md](./INSTALL_CMake.md) file for more information on the CMake build system and options.
[INSTALL_CMake.md](./INSTALL_CMake.md) file for more information on the CMake build system and options.
## Autotools to CMake Options
| Autotools Build Options | CMake Build Options | Notes |
+2 -2
View File
@@ -58,7 +58,7 @@ The HDF Group provides source code and pre-compiled binaries from the HDF5 GitHu
### 3.1. Build and Install HDF5 Libraries and Tools with CMake
See the [release_docs/INSTALL_CMake.md](./INSTALL_CMake.md) file for detailed instructions.
See the [INSTALL_CMake.md](./INSTALL_CMake.md) file for detailed instructions.
## 4. Quick Start Presets
@@ -91,7 +91,7 @@ The above example will create a `build` folder in the source parent directory, w
### 4.3. Customization
See the HDF5 documentation for more on presets, especially the presets section in the [release_docs/INSTALL_CMake.md](./INSTALL_CMake.md) file.
See the HDF5 documentation for more on presets, especially the presets section in the [INSTALL_CMake.md](./INSTALL_CMake.md) file.
### 4.4. See Also
@@ -17,7 +17,7 @@
<a id="section-i"></a>
## I. Preconditions
* Refer to [release_docs/INSTALL.md](./INSTALL.md) for preconditions and instructions for building HDF5.
* Refer to [INSTALL.md](./INSTALL.md) for preconditions and instructions for building HDF5.
---
@@ -148,7 +148,7 @@ If the `aws-c-s3` library is installed to a non-standard location, the environme
CMAKE_PREFIX_PATH=<install-path> cmake -DHDF5_ENABLE_ROS3_VFD=ON ..
```
Refer to [release_docs/INSTALL_CMake.md](./INSTALL_CMake.md) for more general instructions on building HDF5 with CMake.
Refer to [INSTALL_CMake.md](./INSTALL_CMake.md) for more general instructions on building HDF5 with CMake.
---
@@ -20,7 +20,7 @@ if (DOXYGEN_FOUND)
set (DOXYGEN_OPTIMIZE_OUTPUT_FOR_C YES)
set (DOXYGEN_MACRO_EXPANSION YES)
set (DOXYGEN_OUTPUT_DIRECTORY ${HDF5_BINARY_DIR}/hdf5lib_docs)
set (DOXYGEN_EXAMPLES_DIRECTORY "${HDF5_DOXYGEN_DIR}/dox/cookbook ${HDF5_DOXYGEN_DIR}/examples ${HDF5_SRC_DIR} ${HDF5_SOURCE_DIR}/release_docs ${HDF5_TEST_SRC_DIR}")
set (DOXYGEN_EXAMPLES_DIRECTORY "${HDF5_DOXYGEN_DIR}/dox/cookbook ${HDF5_DOXYGEN_DIR}/examples ${HDF5_SRC_DIR} ${HDF5_SOURCE_DIR}/docs ${HDF5_TEST_SRC_DIR}")
set (DOXYGEN_LAYOUT_FILE ${HDF5_DOXYGEN_DIR}/hdf5doxy_layout.xml)
set (DOXYGEN_HTML_HEADER ${HDF5_DOXYGEN_DIR}/hdf5_header.html)
set (DOXYGEN_HTML_FOOTER ${HDF5_DOXYGEN_DIR}/hdf5_footer.html)
@@ -39,7 +39,7 @@ if (DOXYGEN_FOUND)
# get associated with the same underlying function.
#
# The versioned API macros are auto-generated from src/H5vers.txt by the
# bin/make_vers script, which creates doxygen/H5version_doxygen.cmake.
# bin/make_vers script, which creates docs/doxygen/H5version_doxygen.cmake.
# This ensures the Doxygen configuration stays synchronized with the
# actual default versions defined in src/H5version.h.
set (_doxygen_predefined_entries
@@ -55,7 +55,7 @@ if (DOXYGEN_FOUND)
"H5std_string=std::string"
"H5G_link_t=H5L_type_t"
)
# Load auto-generated versioned API macros from doxygen/H5version_doxygen.cmake
# Load auto-generated versioned API macros from docs/doxygen/H5version_doxygen.cmake
include(${HDF5_DOXYGEN_DIR}/H5version_doxygen.cmake)
list (JOIN _doxygen_predefined_entries " " DOXYGEN_PREDEFINED)
set (DOXYGEN_WARN_AS_ERROR ${HDF5_DOXY_WARNINGS})
@@ -46,7 +46,7 @@ See the \ref LBExamples for additional examples.
\subsection cpp_building Building Applications
Please refer to the release_docs/INSTALL_CMake.md file under the top directory of the HDF5 source code or <a href="https://\SRCURL/release_docs/INSTALL_CMake.md">INSTALL_CMake.md</a> on GitHub for information about installing, building, and testing the C++ API.
Please refer to the docs/INSTALL_CMake.md file under the top directory of the HDF5 source code or <a href="https://\SRCURL/docs/INSTALL_CMake.md">INSTALL_CMake.md</a> on GitHub for information about installing, building, and testing the C++ API.
<hr>
@@ -83,8 +83,8 @@ With CMake both libraries have to be explicitly enabled. The source code distrib
Users can overwrite the defaults by using
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF
with the “cmake –C” command. See the
<a href="https://\SRCURL/release_docs/INSTALL_CMake.md">INSTALL_CMake.md</a> file
under the release_docs directory in the HDF5 source distribution.
<a href="https://\SRCURL/docs/INSTALL_CMake.md">INSTALL_CMake.md</a> file
under the docs directory in the HDF5 source distribution.
If compression is not requested or found at configuration time, the compression method is not
registered with the library and cannot be applied when data is written or read. For example, the
@@ -777,7 +777,7 @@ if the library was built with C++ and Fortran.
<h4>USING_HDF5_CMake.md:</h4>
See <a href="https://\SRCURL/release_docs/USING_CMake_Examples.md">USING_CMake_Examples.md</a>.
See <a href="https://\SRCURL/docs/USING_CMake_Examples.md">USING_CMake_Examples.md</a>.
\section secLBCompilingVS Using Visual Studio
@@ -972,7 +972,7 @@ or on WINDOWS you may need to add the path to the bin folder to PATH.
\section secLBCompilingCMake Compiling an Application with CMake
\subsection subsecLBCompilingCMakeScripts CMake Scripts for Building Applications
See <a href="https://\SRCURL/release_docs/USING_CMake_Examples.md">Using CMake to Build Applications</a> to build applications with different languages and options.
See <a href="https://\SRCURL/docs/USING_CMake_Examples.md">Using CMake to Build Applications</a> to build applications with different languages and options.
For a more complete script (and to help resolve issues) see the script provided with the HDF5 Examples project.
@@ -980,7 +980,7 @@ For a more complete script (and to help resolve issues) see the script provided
The installed HDF5 can be verified by compiling the HDF5 Examples project, included with the CMake built HDF5 binaries
in the share folder or you can go to the <a href="https://\SRCURL/HDF5Examples">HDF5 Examples</a> in the HDF5 github repository.
Go into the share directory and follow the instructions in <a href="https://\SRCURL/release_docs/USING_CMake_Examples.md">Using CMake to Build Examples</a> to build the examples.
Go into the share directory and follow the instructions in <a href="https://\SRCURL/docs/USING_CMake_Examples.md">Using CMake to Build Examples</a> to build the examples.
In general, users must first set the HDF5_ROOT environment variable to the installed location of the CMake
configuration files for HDF5.
@@ -998,7 +998,7 @@ For example, on Linux the following path might be set:
\subsection subsecLBCompilingCMakeTroubless Troubleshooting CMake
<h4>How do you use find_package with HDF5?</h4>
To use find_package you will first need to make sure that HDF5_ROOT is set correctly. For setting this
environment variable see the Preconditions in the <a href="https://\SRCURL/release_docs/USING_HDF5_CMake.md">USING_HDF5_CMake.md</a> file in the share directory.
environment variable see the Preconditions in the <a href="https://\SRCURL/docs/USING_HDF5_CMake.md">USING_HDF5_CMake.md</a> file in the share directory.
See the CMakeLists.txt file provided with these examples for how to use find_package with HDF5.

Some files were not shown because too many files have changed in this diff Show More