mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
Update hdf5 2.1.0 with 17commits from develop since 2/5/2026 (#6229)
* Fix MPI Fortran configuration for HDF5Examples (#6206) When building Fortran parallel examples without MPI wrappers, the compiler couldn't find mpi.mod because MPI_Fortran_INCLUDE_DIRS was not populated. This occurred because find_package(MPI) was only called for C, not Fortran. Added enable_language(Fortran) and find_package(MPI REQUIRED COMPONENTS Fortran) to properly configure MPI for Fortran examples, ensuring MPI include directories and libraries are correctly set. * Adds RFCs to the RFC table (#6190) * Added two RFCs to the RFC table "Adding support for digitally signed plugins to HDF5" " Write-Ahead log" * Updated to use the ACM link * Add HDF5 2.0.0 Library Migration Guide (#6183) * Add HDF5 2.0.0 Library Migration Guide * Revise HDF5 migration guide for version 2.0.0 Use 2.0.0 consistently. * Clarify API changes in HDF5 2.0.0 Migration Guide * Fixes the "multiple @param documentation sections" doxygen warnings (#6195) Addresses the "multiple @ param documentation sections" warnings are caused by the interaction of three things: 1. MACRO_EXPANSION = YES with EXPAND_ONLY_PREDEF = NO in Doxyfile.in 2. Versioned API macros in H5version.h like: \def documentation in APIVersions.dox like: 3. \def H5Tarray_create \api_vers_2{H5Tarray_create,H5Tarray_create1,H5Tarray_create2} Because Doxygen expands all macros, it sees H5Tarray_create as an alias for H5Tarray_create1. It then associates documentation from both the \def block (for the macro) and the function's own doc block (with \param entries) with the same function — resulting in "multiple @ param documentation sections." * Update Doxygen version from 1.16.0 to 1.16.1 Use Doxygen 1.16.1 for all platforms. This version includes the latest bug fixes and improvements while maintaining compatibility with our documentation format. * Fix Windows Doxygen installation for version 1.16.1 Handle different Windows binary naming conventions across Doxygen versions: - 1.16.1 uses: doxygen-VERSION.windows.x64.bin.zip - 1.16.0 uses: doxygen-VERSION.x64.bin.zip Try the newer naming convention first, then fall back to the older one if the download fails. This ensures compatibility across versions. * Use ssciwr/doxygen-install in setup-doxygen action Replace direct installation of official Doxygen binaries with ssciwr/doxygen-install action. This avoids Java documentation parsing errors that occur with official binaries but not with distribution builds. The setup-doxygen action now serves as a thin wrapper around ssciwr/doxygen-install@f13be16c83 (v1), using commit hash for security and reproducibility. * Remove redundant version specification from workflows The setup-doxygen action already has a default version (1.16.1), so explicit version specification in workflows is unnecessary. This follows DRY principles and makes version updates simpler. * Updates to #6205 (#6208) * Fix MPI Fortran configuration for HDF5Examples (#6205) When building Fortran parallel examples standalone without MPI wrappers, the compiler cannot find mpi.mod because MPI_Fortran_INCLUDE_DIRS is not populated. * Use MPI::MPI_Fortran imported target instead of raw MPI variables Replace manual MPI_Fortran_LIBRARIES, MPI_Fortran_LINK_FLAGS, and MPI_Fortran_INCLUDE_DIRS usage with the MPI::MPI_Fortran imported target, which transitively carries all include dirs, compile flags, and link flags. This eliminates the CMAKE_Fortran_EXE_LINKER_FLAGS hack and the manual target_include_directories in H5PAR. * Update nvhpc version to 26.1 with CUDA version 13.1. (#6213) # branches: [develop] * Inherit Debug C build flags in Developer build mode (#6182) * Bump the github-actions group across 1 directory with 11 updates (#6215) * Bump the github-actions group across 1 directory with 11 updates Bumps the github-actions group with 11 updates in the / directory: | Package | From | To | | --- | --- | --- | | [actions/cache](https://github.com/actions/cache) | `5.0.1` | `5.0.3` | | [lukka/get-cmake](https://github.com/lukka/get-cmake) | `4.2.1` | `4.2.3` | | [softwareforgood/check-artifact-v4-existence](https://github.com/softwareforgood/check-artifact-v4-existence) | `0.3.0` | `0.4.1` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.31.9` | `4.32.2` | | [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action) | `0.5.11` | `1.1.0` | | [cygwin/cygwin-install-action](https://github.com/cygwin/cygwin-install-action) | `7d2dc1e241644c3318bed9ec74115d1929baa681` | `2566376092c4e280f21131be027af3f5bb2420a4` | | [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) | `5.1.1` | `6.0.0` | | [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) | `1.3.4` | `1.4.2` | | [vmactions/openbsd-vm](https://github.com/vmactions/openbsd-vm) | `1.3.1` | `1.3.5` | | [mpi4py/setup-mpi](https://github.com/mpi4py/setup-mpi) | `1.4.1` | `1.4.2` | | [actions/setup-python](https://github.com/actions/setup-python) | `6.1.0` | `6.2.0` | vmactions/openbsd-vm@d6c29ce1b4 (`1.3.5`) failed to run ssh on the github runner. 271a1ba62300483cfc58345ff9f425f1349a2cab for v1.3.4 was used instead. * Fix issue with some Subfiling VFD test files not getting deleted (#6212) * CMake: Fix Fortran cross-compilation support Refactor the cross-compilation infrastructure to rely on the standard CMAKE_CROSSCOMPILING_EMULATOR variable instead of the custom CROSSCOMPILING_PATH environment hack. Key changes: - Removed `ENVIRONMENT "${CROSSCOMPILING_PATH}"` from all test definitions. - Updated custom commands (e.g., H5match_types, H5_gen) to invoke the emulator explicitly when cross-compiling. - Updated ConfigureChecks.cmake and HDF5UseFortran.cmake to enable `try_run` checks when an emulator is defined. - Added config/toolchain/mingw-w64-x86-64-wine.sh wrapper to automatically locate MinGW runtime libraries (like libgfortran) for Wine execution. - Cleaned up toolchain files to remove hardcoded emulator paths, deferring configuration to the build environment. * Add Doxygen setup that results in missing Doygen documentation. (#6217) * Added setup-doxygen action in ctest.yml Ubuntu gcc workflow. * Also added actions/checkout for setup-doxygen. * Fixes link checker failure (#6219) Removed https:// as a workaround to avoid error by the link checker. * Remove force-setting of ZLIB_USE_EXTERNAL / SZIP_USE_EXTERNAL (#6222) Removes the force-setting of ZLIB_USE_EXTERNAL and SZIP_USE_EXTERNAL to ON when HDF5_ALLOW_EXTERNAL_SUPPORT is GIT or TGZ so that zlib and szip can be independently built from the system or externally as desired * Truncate Subfiling VFD's stub file when truncating subfiles (#6210) Ensure that the Subfiling VFD's stub file gets truncated when subfiles are being truncated to avoid a potentially unreadable file when the EOF doesn't match the stored EOF value Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Add CMake function to extract pkg-config info from libraries (#6220) * Consistent extension for C++ (#6214) Except for this file, all use cpp instead of cxx. No obvious reason why the same file types should have different extensions. * Enable Windows ARM64 CTest CI for release binaries (#6177) * ci: add Windows ARM64 MSVC CTest job * ci: add MSYS2 clangarm64 build on Windows ARM64 * cmake: add MSVC ARM64 presets for Windows * zlib: fix MSVC static library flags for ARM64 builds * Renamed .hxx file to .h and updated the #include for it. * Committing clang-format changes --------- Co-authored-by: Scot Breitenfeld <brtnfld@hdfgroup.org> Co-authored-by: bmribler <39579120+bmribler@users.noreply.github.com> Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: jhendersonHDF <jhenderson@hdfgroup.org> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Julien Schueller <schueller@phimeca.com> Co-authored-by: Martin Diehl <mail@martin-diehl.net> Co-authored-by: Harish RS <harish.rajaselvan@multicorewareinc.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
Scot Breitenfeld
bmribler
Gerd Heber
jhendersonHDF
dependabot[bot]
Julien Schueller
Martin Diehl
Harish RS
github-actions
parent
6f5274847b
commit
cde84cdc8f
@@ -0,0 +1,14 @@
|
||||
name: 'Setup Doxygen'
|
||||
description: 'Install Doxygen with version that supports Fortran cross-references'
|
||||
inputs:
|
||||
version:
|
||||
description: 'Doxygen version to install'
|
||||
required: false
|
||||
default: '1.16.1'
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Install Doxygen
|
||||
uses: ssciwr/doxygen-install@f13be1686235deee0aeb6cdf56640170691dc96b # v1
|
||||
with:
|
||||
version: ${{ inputs.version }}
|
||||
@@ -37,10 +37,13 @@ jobs:
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Dependencies (Linux_coverage)
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt-get install ninja-build doxygen graphviz curl build-essential
|
||||
sudo apt-get install ninja-build graphviz curl build-essential
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt-get install lcov -q -y
|
||||
|
||||
@@ -138,10 +141,13 @@ jobs:
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Dependencies (Linux_Leak)
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt-get install ninja-build doxygen graphviz curl
|
||||
sudo apt-get install ninja-build graphviz curl
|
||||
|
||||
- name: Set file base name (Linux_Leak)
|
||||
id: set-file-base
|
||||
@@ -239,10 +245,13 @@ jobs:
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Dependencies (Linux_Address)
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt-get install ninja-build doxygen graphviz curl
|
||||
sudo apt-get install ninja-build graphviz curl
|
||||
|
||||
- name: Set file base name (Linux_Address)
|
||||
id: set-file-base
|
||||
@@ -340,10 +349,13 @@ jobs:
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Dependencies (Linux_UndefinedBehavior)
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt-get install ninja-build doxygen graphviz curl
|
||||
sudo apt-get install ninja-build graphviz curl
|
||||
|
||||
- name: Set file base name (Linux_UndefinedBehavior)
|
||||
id: set-file-base
|
||||
|
||||
@@ -56,7 +56,7 @@ jobs:
|
||||
|
||||
- name: Cache OpenMPI ${{ env.MPIVERDOT }} installation
|
||||
id: cache-openmpi-5_0_7
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
with:
|
||||
path: /home/runner/work/hdf5/hdf5/openmpi-${{ env.MPIVERDOT }}-install
|
||||
key: ${{ runner.os }}-${{ runner.arch }}-openmpi-5_0_7-cache
|
||||
|
||||
@@ -38,13 +38,14 @@ jobs:
|
||||
runs-on: windows-11-arm
|
||||
if: ${{ inputs.build_mode != 'Debug' }}
|
||||
steps:
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -67,10 +68,6 @@ jobs:
|
||||
echo "CXX=cl.exe" >> $GITHUB_ENV
|
||||
echo "CC=cl.exe" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
run: |
|
||||
@@ -164,7 +161,7 @@ jobs:
|
||||
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v5
|
||||
with:
|
||||
name: zip-vs2022_cl-${{ inputs.build_mode }}-${{ inputs.save_binary }}-binary
|
||||
path: ${{ runner.workspace }}/build/HDF5-*-win64.zip
|
||||
path: ${{ runner.workspace }}/build/HDF5-*-winarm64.zip
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
if: ${{ (inputs.thread_safety != 'TS') && (inputs.concurrent != 'CC') && ( inputs.save_binary != 'skip') }}
|
||||
|
||||
@@ -172,21 +169,19 @@ jobs:
|
||||
name: "Ubuntu gcc-${{ inputs.build_mode }}-${{ inputs.thread_safety }}-${{ inputs.concurrent }}"
|
||||
runs-on: ubuntu-24.04-arm
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Dependencies (Linux)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
run: |
|
||||
@@ -283,16 +278,18 @@ jobs:
|
||||
name: "MacOS Clang-${{ inputs.build_mode }}-${{ inputs.thread_safety }}-${{ inputs.concurrent }}"
|
||||
runs-on: macos-15
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Dependencies (macOS)
|
||||
run: brew install ninja curl
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -303,10 +300,6 @@ jobs:
|
||||
which cmake
|
||||
cmake --version
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
run: |
|
||||
|
||||
@@ -116,7 +116,7 @@ jobs:
|
||||
- name: Install Dependencies (Linux)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
|
||||
- name: Set up JDK ${{ inputs.java_version }}
|
||||
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5
|
||||
@@ -173,7 +173,7 @@ jobs:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Install Dependencies (MacOS_latest)
|
||||
run: brew install ninja doxygen
|
||||
run: brew install ninja
|
||||
|
||||
- name: Set up JDK ${{ inputs.java_version }}
|
||||
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5
|
||||
@@ -241,7 +241,7 @@ jobs:
|
||||
- name: Install Dependencies (Linux)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
|
||||
- name: Set up JDK ${{ inputs.java_version }}
|
||||
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5
|
||||
|
||||
@@ -28,7 +28,7 @@ jobs:
|
||||
steps:
|
||||
- name: Check if 'libaws-c-s3-${{ inputs.build_mode }}' exists
|
||||
id: check_artifact
|
||||
uses: softwareforgood/check-artifact-v4-existence@9772fb919376f476e208587e99db557f956a2276 # v0
|
||||
uses: softwareforgood/check-artifact-v4-existence@3bbed0d010832929f3e2c1e9ff75e0f09a35bcf1 # v0
|
||||
with:
|
||||
name: libaws-c-s3-${{ inputs.build_mode }}
|
||||
|
||||
@@ -78,7 +78,7 @@ jobs:
|
||||
|
||||
- name: Cache/Restore aws-c-s3 (GCC) installation
|
||||
id: cache-aws-c-s3-ubuntu-gcc
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
with:
|
||||
path: ${{ runner.workspace }}/aws-c-s3-build
|
||||
key: ${{ runner.os }}-${{ runner.arch }}-gcc-aws-c-s3-${{ steps.get-sha.outputs.sha }}-${{ inputs.build_mode }}
|
||||
|
||||
@@ -49,7 +49,7 @@ jobs:
|
||||
|
||||
- name: Cache MPICH (GCC) installation
|
||||
id: cache-mpich-ubuntu-gcc
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
with:
|
||||
path: ${{ runner.workspace }}/mpich
|
||||
key: ${{ runner.os }}-${{ runner.arch }}-gcc-mpich-${{ steps.get-sha.outputs.sha }}-${{ inputs.build_mode }}
|
||||
|
||||
@@ -49,7 +49,7 @@ jobs:
|
||||
|
||||
- name: Cache OpenMPI (GCC) installation
|
||||
id: cache-openmpi-ubuntu-gcc
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
with:
|
||||
path: ${{ runner.workspace }}/openmpi
|
||||
key: ${{ runner.os }}-${{ runner.arch }}-gcc-openmpi-${{ steps.get-sha.outputs.sha }}-${{ inputs.build_mode }}
|
||||
|
||||
@@ -58,7 +58,7 @@ jobs:
|
||||
..
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v4
|
||||
uses: github/codeql-action/init@v4.32.2
|
||||
with:
|
||||
languages: c-cpp
|
||||
build-mode: manual
|
||||
@@ -78,7 +78,7 @@ jobs:
|
||||
shell: bash
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v4
|
||||
uses: github/codeql-action/analyze@v4.32.2
|
||||
with:
|
||||
category: "/language:c-cpp"
|
||||
output: sarif-results
|
||||
@@ -95,6 +95,6 @@ jobs:
|
||||
output: sarif-results/cpp.sarif
|
||||
|
||||
- name: Upload SARIF
|
||||
uses: github/codeql-action/upload-sarif@v4
|
||||
uses: github/codeql-action/upload-sarif@v4.32.2
|
||||
with:
|
||||
sarif_file: sarif-results/cpp.sarif
|
||||
|
||||
@@ -34,21 +34,19 @@ jobs:
|
||||
# - name: Verify Wine64 installation
|
||||
# run: wine64 --version
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install MinGW64 Cross-Compiler
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt-get install -y mingw-w64
|
||||
sudo apt-get install gfortran-mingw-w64-x86-64-win32
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CMAKE CONFIGURE
|
||||
- name: CMake Configure
|
||||
run: |
|
||||
@@ -58,6 +56,7 @@ jobs:
|
||||
-G Ninja \
|
||||
--log-level=VERBOSE \
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/mingw64.cmake \
|
||||
-DCMAKE_CROSSCOMPILING_EMULATOR:PATH=$GITHUB_WORKSPACE/config/toolchain/mingw-w64-x86-64-wine.sh \
|
||||
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
|
||||
-DHDF5_ENABLE_DOXY_WARNINGS:BOOL=ON \
|
||||
-DHDF5_BUILD_DOC:BOOL=ON \
|
||||
|
||||
+189
-24
@@ -90,16 +90,11 @@ jobs:
|
||||
- name: Install Dependencies (Windows)
|
||||
run: choco install ninja
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Enable Developer Command Prompt
|
||||
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -179,7 +174,7 @@ jobs:
|
||||
shell: bash
|
||||
|
||||
- name: Sign files with Trusted Signing
|
||||
uses: azure/trusted-signing-action@1d365fec12862c4aa68fcac418143d73f0cea293 # v0.5.11
|
||||
uses: azure/trusted-signing-action@87c2e83e6868da99d3380aa309851b32ed9a8346 # v1.1.0
|
||||
with:
|
||||
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
||||
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
||||
@@ -234,6 +229,178 @@ jobs:
|
||||
path: ${{ runner.workspace }}/buildmsi/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl.msi
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
|
||||
build_and_test_win_arm64:
|
||||
# Windows ARM64 w/ MSVC (Native)
|
||||
#
|
||||
name: "Windows MSVC ARM64 CTest"
|
||||
runs-on: windows-11-arm
|
||||
needs: [check-secret]
|
||||
steps:
|
||||
- name: Install Dependencies (Windows ARM64)
|
||||
run: choco install ninja
|
||||
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Enable Developer Command Prompt
|
||||
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
|
||||
with:
|
||||
arch: arm64
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
cmake --version
|
||||
|
||||
- name: Set up JDK 21
|
||||
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5
|
||||
with:
|
||||
java-version: '21'
|
||||
distribution: 'temurin'
|
||||
architecture: 'aarch64'
|
||||
|
||||
- name: Set environment for MSVC ARM64 (Windows)
|
||||
run: |
|
||||
echo "CXX=cl.exe" >> $GITHUB_ENV
|
||||
echo "CC=cl.exe" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Set file base name (Windows ARM64)
|
||||
id: set-file-base
|
||||
run: |
|
||||
FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
|
||||
echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
|
||||
if [[ '${{ inputs.use_environ }}' == 'release' ]]
|
||||
then
|
||||
SOURCE_NAME_BASE=$(echo "${{ inputs.snap_name }}")
|
||||
else
|
||||
SOURCE_NAME_BASE=$(echo "hdfsrc")
|
||||
fi
|
||||
echo "SOURCE_BASE=$SOURCE_NAME_BASE" >> $GITHUB_OUTPUT
|
||||
shell: bash
|
||||
|
||||
# Get files created by release script
|
||||
- name: Get zip-tarball (Windows ARM64)
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v6
|
||||
with:
|
||||
name: zip-tarball
|
||||
path: ${{ github.workspace }}
|
||||
|
||||
- name: using powershell
|
||||
shell: pwsh
|
||||
run: Get-Location
|
||||
|
||||
- name: List files for the space (Windows ARM64)
|
||||
run: |
|
||||
Get-ChildItem -Path ${{ github.workspace }}
|
||||
Get-ChildItem -Path ${{ runner.workspace }}
|
||||
shell: pwsh
|
||||
|
||||
- name: Uncompress source (Windows ARM64)
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: 7z x ${{ steps.set-file-base.outputs.FILE_BASE }}.zip
|
||||
shell: bash
|
||||
|
||||
- name: Install TrustedSigning (Windows ARM64)
|
||||
run: |
|
||||
Invoke-WebRequest -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile .\nuget.exe
|
||||
.\nuget.exe install Microsoft.Windows.SDK.BuildTools -Version 10.0.22621.3233 -x
|
||||
.\nuget.exe install Microsoft.Trusted.Signing.Client -Version 1.0.86 -x
|
||||
shell: pwsh
|
||||
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
|
||||
|
||||
- name: create-json
|
||||
id: create-json
|
||||
uses: jsdaniell/create-json@b8e77fa01397ca39cc4a6198cc29a3be5481afef # v1.2.3
|
||||
with:
|
||||
name: "credentials.json"
|
||||
dir: '${{ steps.set-file-base.outputs.SOURCE_BASE }}'
|
||||
json: '{"Endpoint": "${{ secrets.AZURE_ENDPOINT }}","CodeSigningAccountName": "${{ secrets.AZURE_CODE_SIGNING_NAME }}","CertificateProfileName": "${{ secrets.AZURE_CERT_PROFILE_NAME }}"}'
|
||||
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
|
||||
|
||||
- name: Install WiX v3.14
|
||||
run: |
|
||||
Invoke-WebRequest -Uri https://github.com/wixtoolset/wix3/releases/download/wix3141rtm/wix314-binaries.zip -OutFile wix314-binaries.zip
|
||||
Expand-Archive -Path wix314-binaries.zip -DestinationPath C:\wix314
|
||||
echo "C:\wix314" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
echo "WIX=C:\wix314" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||
shell: pwsh
|
||||
|
||||
- name: Run CTest (Windows ARM64)
|
||||
env:
|
||||
BINSIGN: ${{ needs.check-secret.outputs.sign-state }}
|
||||
SIGNTOOLDIR: ${{ github.workspace }}/Microsoft.Windows.SDK.BuildTools/bin/10.0.22621.0/arm64
|
||||
run: |
|
||||
cd "${{ runner.workspace }}/hdf5/${{ steps.set-file-base.outputs.SOURCE_BASE }}"
|
||||
cmake --workflow --preset=${{ inputs.preset_name }}-MSVC-ARM64 --fresh
|
||||
shell: bash
|
||||
|
||||
- name: Sign files with Trusted Signing
|
||||
uses: azure/trusted-signing-action@1d365fec12862c4aa68fcac418143d73f0cea293 # v0.5.11
|
||||
with:
|
||||
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
||||
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
||||
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
|
||||
endpoint: ${{ secrets.AZURE_ENDPOINT }}
|
||||
trusted-signing-account-name: ${{ secrets.AZURE_CODE_SIGNING_NAME }}
|
||||
certificate-profile-name: ${{ secrets.AZURE_CERT_PROFILE_NAME }}
|
||||
files-folder: ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-MSVC-ARM64
|
||||
files-folder-filter: msi
|
||||
file-digest: SHA256
|
||||
timestamp-rfc3161: http://timestamp.acs.microsoft.com
|
||||
timestamp-digest: SHA256
|
||||
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
|
||||
|
||||
- name: Publish binary (Windows ARM64)
|
||||
id: publish-ctest-binary
|
||||
run: |
|
||||
mkdir "${{ runner.workspace }}/build"
|
||||
mkdir "${{ runner.workspace }}/build/hdf5"
|
||||
Copy-Item -Path ${{ runner.workspace }}/hdf5/${{ steps.set-file-base.outputs.SOURCE_BASE }}/LICENSE -Destination ${{ runner.workspace }}/build/hdf5/
|
||||
Copy-Item -Path ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-MSVC-ARM64/README.md -Destination ${{ runner.workspace }}/build/hdf5/
|
||||
Copy-Item -Path ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-MSVC-ARM64/* -Destination ${{ runner.workspace }}/build/hdf5/ -Include *.zip
|
||||
cd "${{ runner.workspace }}/build"
|
||||
7z a -tzip ${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl_arm64.zip hdf5
|
||||
shell: pwsh
|
||||
|
||||
- name: Publish msi binary (Windows ARM64)
|
||||
id: publish-ctest-msi-binary
|
||||
run: |
|
||||
mkdir "${{ runner.workspace }}/buildmsi"
|
||||
Copy-Item -Path ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-MSVC-ARM64/* -Destination ${{ runner.workspace }}/buildmsi/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl_arm64.msi -Include *.msi
|
||||
shell: pwsh
|
||||
|
||||
- name: List files in the space (Windows ARM64)
|
||||
run: |
|
||||
Get-ChildItem -Path ${{ github.workspace }}
|
||||
Get-ChildItem -Path ${{ runner.workspace }}
|
||||
shell: pwsh
|
||||
|
||||
# Save files created by CTest script
|
||||
- name: Save published binary (Windows ARM64)
|
||||
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v5
|
||||
with:
|
||||
name: zip-vs2022_cl_arm64-binary
|
||||
path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl_arm64.zip
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
|
||||
- name: Save published msi binary (Windows ARM64)
|
||||
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v5
|
||||
with:
|
||||
name: msi-vs2022_cl_arm64-binary
|
||||
path: ${{ runner.workspace }}/buildmsi/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl_arm64.msi
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
|
||||
build_and_test_linux:
|
||||
# Linux (Ubuntu) w/ gcc
|
||||
#
|
||||
@@ -246,13 +413,16 @@ jobs:
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build graphviz
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
- name: Get Actions
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
sparse-checkout: .github/actions
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -419,11 +589,6 @@ jobs:
|
||||
- name: Install Dependencies (MacOS_latest)
|
||||
run: brew install ninja
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: check clang version
|
||||
shell: bash
|
||||
run: |
|
||||
@@ -431,7 +596,7 @@ jobs:
|
||||
clang -v
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -650,10 +815,10 @@ jobs:
|
||||
- name: Install Dependencies (Linux S3)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen
|
||||
sudo apt-get install ninja-build
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -755,7 +920,7 @@ jobs:
|
||||
version: '2025.0'
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -826,7 +991,7 @@ jobs:
|
||||
shell: pwsh
|
||||
|
||||
- name: Sign files with Trusted Signing (Windows_intel)
|
||||
uses: azure/trusted-signing-action@1d365fec12862c4aa68fcac418143d73f0cea293 # v0.5.11
|
||||
uses: azure/trusted-signing-action@87c2e83e6868da99d3380aa309851b32ed9a8346 # v1.1.0
|
||||
with:
|
||||
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
||||
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
||||
@@ -891,7 +1056,7 @@ jobs:
|
||||
- name: Install Dependencies (Linux_intel)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
|
||||
- name: add oneAPI to env
|
||||
uses: fortran-lang/setup-fortran@47809fdb6e637da656ce9ada436527b240c1287f # v1
|
||||
@@ -901,7 +1066,7 @@ jobs:
|
||||
version: '2025.0'
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -966,4 +1131,4 @@ jobs:
|
||||
with:
|
||||
name: tgz-ubuntu-2404_intel-binary
|
||||
path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2404_intel.tar.gz
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Install Cygwin
|
||||
uses: cygwin/cygwin-install-action@7d2dc1e241644c3318bed9ec74115d1929baa681 # master
|
||||
uses: cygwin/cygwin-install-action@2566376092c4e280f21131be027af3f5bb2420a4 # master
|
||||
with:
|
||||
packages: cmake gcc-fortran make ninja zlib-devel flex bison perl
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ jobs:
|
||||
path: ${{ github.workspace }}/${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
|
||||
|
||||
- name: Setup AWS CLI
|
||||
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5
|
||||
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
|
||||
+34
-12
@@ -29,10 +29,18 @@ jobs:
|
||||
FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
|
||||
echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Get Actions
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install libaec0 libaec-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
@@ -100,14 +108,17 @@ jobs:
|
||||
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Get Actions
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Dependencies (Windows)
|
||||
run: choco install ninja
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Enable Developer Command Prompt
|
||||
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
|
||||
|
||||
@@ -176,14 +187,17 @@ jobs:
|
||||
name: "MacOS Clang"
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Get Actions
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Dependencies (MacOS_latest)
|
||||
run: brew install ninja
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Check Clang Version
|
||||
shell: bash
|
||||
run: |
|
||||
@@ -263,10 +277,18 @@ jobs:
|
||||
name: "Ubuntu Clang"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get Actions
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Dependencies (Linux_clang)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz curl
|
||||
sudo apt-get install ninja-build graphviz curl
|
||||
|
||||
- name: Check Clang Version
|
||||
shell: bash
|
||||
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Build and test on FreeBSD
|
||||
uses: vmactions/freebsd-vm@c54ba3b62f49de9b67a2f3af017ab6152f0ebb6f # v1
|
||||
uses: vmactions/freebsd-vm@c9f815bc7aa0d34c9fdd0619b034a32d6ca7b57e # v1
|
||||
with:
|
||||
release: ${{ matrix.freebsd-version }}
|
||||
usesh: true
|
||||
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
|
||||
- name: Install oneAPI (Linux)
|
||||
|
||||
@@ -43,7 +43,7 @@ jobs:
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Cache Maven dependencies
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
with:
|
||||
path: ~/.m2/repository
|
||||
key: ${{ runner.os }}-maven-examples-${{ hashFiles('**/pom-examples.xml*') }}
|
||||
@@ -206,7 +206,7 @@ jobs:
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Cache Maven dependencies
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
with:
|
||||
path: ~/.m2/repository
|
||||
key: ${{ runner.os }}-maven-examples-${{ hashFiles('**/pom-examples.xml*') }}
|
||||
@@ -325,7 +325,7 @@ jobs:
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Cache Maven dependencies
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
with:
|
||||
path: ~/.m2/repository
|
||||
key: ${{ runner.os }}-maven-examples-${{ hashFiles('**/pom-examples.xml*') }}
|
||||
|
||||
@@ -153,7 +153,7 @@ jobs:
|
||||
choco install ninja
|
||||
|
||||
- name: Cache CMake build
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
with:
|
||||
path: |
|
||||
build-test-*
|
||||
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install -y libaec-dev zlib1g-dev wget curl bzip2 flex bison cmake libzip-dev openssl build-essential
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
sudo apt install libaec0 libaec-dev
|
||||
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
sudo apt install libaec0 libaec-dev
|
||||
|
||||
+100
-69
@@ -27,19 +27,22 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# SETUP
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
@@ -86,19 +89,22 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# SETUP
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
@@ -140,19 +146,22 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# SETUP
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
@@ -194,19 +203,22 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# SETUP
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
@@ -246,20 +258,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# SETUP
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
run: |
|
||||
@@ -298,20 +313,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# SETUP
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
run: |
|
||||
@@ -351,14 +369,16 @@ jobs:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
# SETUP
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Dependencies (Windows)
|
||||
run: choco install ninja
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: install oneAPI (Windows)
|
||||
uses: fortran-lang/setup-fortran@47809fdb6e637da656ce9ada436527b240c1287f # v1
|
||||
id: setup-fortran
|
||||
@@ -366,10 +386,6 @@ jobs:
|
||||
compiler: intel
|
||||
version: '2025.0'
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Configure (Windows)
|
||||
shell: pwsh
|
||||
env:
|
||||
@@ -403,20 +419,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# SETUP
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12 zlib1g-dev
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12 zlib1g-dev
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
run: |
|
||||
@@ -460,20 +479,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# SETUP
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
run: |
|
||||
@@ -513,20 +535,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# SETUP
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
run: |
|
||||
@@ -566,20 +591,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# SETUP
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
run: |
|
||||
@@ -614,20 +642,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# SETUP
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
run: |
|
||||
|
||||
@@ -121,6 +121,13 @@ jobs:
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
#Useful for debugging
|
||||
- name: Dump matrix context
|
||||
run: echo '${{ toJSON(matrix) }}'
|
||||
@@ -138,13 +145,8 @@ jobs:
|
||||
run: brew install ninja curl
|
||||
if: ${{ matrix.ostype == 'macos' }}
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -162,10 +164,6 @@ jobs:
|
||||
echo "CC=cl.exe" >> $GITHUB_ENV
|
||||
if: matrix.ostype == 'windows'
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
# CONFIGURE
|
||||
- name: Configure
|
||||
run: |
|
||||
|
||||
@@ -138,6 +138,13 @@ jobs:
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
#Useful for debugging
|
||||
- name: Dump matrix context
|
||||
run: echo '${{ toJSON(matrix) }}'
|
||||
@@ -155,13 +162,8 @@ jobs:
|
||||
run: brew install ninja curl
|
||||
if: ${{ matrix.ostype == 'macos' }}
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -198,10 +200,6 @@ jobs:
|
||||
echo "CC=cl.exe" >> $GITHUB_ENV
|
||||
if: matrix.ostype == 'windows'
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup jextract (FFM builds only)
|
||||
if: ${{ inputs.force_java_implementation == 'ffm' }}
|
||||
uses: ./.github/actions/setup-jextract
|
||||
|
||||
@@ -239,18 +239,17 @@ jobs:
|
||||
if: ${{ runner.os == 'Linux' }}
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
|
||||
- name: Install Dependencies (macOS)
|
||||
if: ${{ runner.os == 'macOS' }}
|
||||
run: |
|
||||
brew install ninja doxygen graphviz
|
||||
brew install ninja graphviz
|
||||
|
||||
- name: Install Dependencies (Windows)
|
||||
if: ${{ runner.os == 'Windows' }}
|
||||
run: |
|
||||
choco install ninja
|
||||
choco install doxygen.install
|
||||
choco install graphviz
|
||||
|
||||
- name: Enable Developer Command Prompt (Windows)
|
||||
@@ -809,7 +808,7 @@ jobs:
|
||||
continue-on-error: true
|
||||
|
||||
- name: Cache Maven dependencies
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
with:
|
||||
path: ~/.m2/repository
|
||||
key: ${{ runner.os }}-maven-examples-${{ hashFiles('**/pom-examples.xml*') }}
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
Build_and_test:
|
||||
|
||||
# The type of runner that the job will run on
|
||||
runs-on: windows-latest
|
||||
runs-on: ${{ matrix.sys == 'clangarm64' && 'windows-11-arm' || 'windows-latest' }}
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
@@ -28,6 +28,7 @@ jobs:
|
||||
- { icon: '🟦', sys: mingw64 }
|
||||
- { icon: '🟨', sys: ucrt64 }
|
||||
- { icon: '🟧', sys: clang64 }
|
||||
- { icon: '🟪', sys: clangarm64 }
|
||||
name: ${{ matrix.icon }} MSYS2-${{ matrix.sys }}-${{ inputs.build_mode }}
|
||||
defaults:
|
||||
run:
|
||||
|
||||
@@ -20,9 +20,9 @@ jobs:
|
||||
name: "nvhpc ${{ inputs.build_mode }}"
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
CUDAVERDOT: "13.0"
|
||||
NVERDOT: "25.9"
|
||||
NVERDASH: "25-9"
|
||||
CUDAVERDOT: "13.1"
|
||||
NVERDOT: "26.1"
|
||||
NVERDASH: "26-1"
|
||||
|
||||
steps:
|
||||
- name: Get Sources
|
||||
@@ -36,13 +36,13 @@ jobs:
|
||||
haskell: true
|
||||
large-packages: true
|
||||
tool-cache: false
|
||||
swap-storage: true
|
||||
swap-storage: true
|
||||
|
||||
- name: Install Dependencies
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install -y libaec-dev zlib1g-dev wget curl bzip2 flex bison cmake libzip-dev openssl build-essential
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Build and test on OpenBSD
|
||||
uses: vmactions/openbsd-vm@00753f2835e62704570734312de6f212069dfef7 # v1
|
||||
uses: vmactions/openbsd-vm@271a1ba62300483cfc58345ff9f425f1349a2cab # v1
|
||||
with:
|
||||
release: ${{ matrix.openbsd-version }}
|
||||
usesh: true
|
||||
|
||||
@@ -46,13 +46,8 @@ jobs:
|
||||
- name: Install Dependencies (Windows)
|
||||
run: choco install ninja
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -62,7 +57,7 @@ jobs:
|
||||
|
||||
- name: Setup MPI (${{ matrix.mpi }})
|
||||
id: setup-mpi
|
||||
uses: mpi4py/setup-mpi@8ac56ec7ab12f2dffdcf55ffaf50f1920ebcc004 # v1
|
||||
uses: mpi4py/setup-mpi@dbbb80b116bea57fc1788daf7dbbf7ab3df3a0f1 # v1
|
||||
with:
|
||||
mpi: ${{ matrix.mpi }}
|
||||
|
||||
@@ -182,20 +177,15 @@ jobs:
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
sudo apt install libaec0 libaec-dev
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Setup MPI (${{ matrix.mpi }})
|
||||
id: setup-mpi
|
||||
uses: mpi4py/setup-mpi@8ac56ec7ab12f2dffdcf55ffaf50f1920ebcc004 # v1
|
||||
uses: mpi4py/setup-mpi@dbbb80b116bea57fc1788daf7dbbf7ab3df3a0f1 # v1
|
||||
with:
|
||||
mpi: ${{ matrix.mpi }}
|
||||
|
||||
@@ -299,14 +289,9 @@ jobs:
|
||||
- name: Install Dependencies (MacOS_latest)
|
||||
run: brew install ninja
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Setup MPI (${{ matrix.mpi }})
|
||||
id: setup-mpi
|
||||
uses: mpi4py/setup-mpi@8ac56ec7ab12f2dffdcf55ffaf50f1920ebcc004 # v1
|
||||
uses: mpi4py/setup-mpi@dbbb80b116bea57fc1788daf7dbbf7ab3df3a0f1 # v1
|
||||
with:
|
||||
mpi: ${{ matrix.mpi }}
|
||||
|
||||
|
||||
@@ -79,13 +79,8 @@ jobs:
|
||||
echo "CC=${{ runner.workspace }}/openmpi/bin/mpicc" >> $GITHUB_ENV
|
||||
echo "FC=${{ runner.workspace }}/openmpi/bin/mpif90" >> $GITHUB_ENV
|
||||
|
||||
- name: Install Doxygen
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -201,13 +196,8 @@ jobs:
|
||||
echo "CC=${{ runner.workspace }}/mpich/bin/mpicc" >> $GITHUB_ENV
|
||||
echo "FC=${{ runner.workspace }}/mpich/bin/mpif90" >> $GITHUB_ENV
|
||||
|
||||
- name: Install Doxygen
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
ls ${{ github.workspace }}/HDF5
|
||||
|
||||
- name: Setup AWS CLI
|
||||
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5
|
||||
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
|
||||
@@ -85,7 +85,7 @@ jobs:
|
||||
|
||||
- name: Setup AWS CLI
|
||||
if: ${{ !inputs.dry_run }}
|
||||
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5
|
||||
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
|
||||
@@ -67,6 +67,6 @@ jobs:
|
||||
|
||||
# Upload the results to GitHub's code scanning dashboard.
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@45c373516f557556c15d420e3f5e0aa3d64366bc # v3.29.5
|
||||
uses: github/codeql-action/upload-sarif@8ad4b6ec58178e8dbb44a62677274b3a5916baa9 # v3.29.5
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
||||
@@ -44,16 +44,11 @@ jobs:
|
||||
- name: Install Dependencies (Windows)
|
||||
run: choco install ninja
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Enable Developer Command Prompt
|
||||
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -165,13 +160,8 @@ jobs:
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build graphviz curl
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -266,11 +256,6 @@ jobs:
|
||||
- name: Install Dependencies (MacOS_latest)
|
||||
run: brew install ninja curl
|
||||
|
||||
- name: Install Dependencies
|
||||
uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 # v1
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: check clang version
|
||||
shell: bash
|
||||
run: |
|
||||
@@ -278,7 +263,7 @@ jobs:
|
||||
clang -v
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -394,10 +379,10 @@ jobs:
|
||||
- name: Install Dependencies (Linux S3)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen
|
||||
sudo apt-get install ninja-build
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -520,7 +505,7 @@ jobs:
|
||||
version: '2025.0'
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -629,7 +614,7 @@ jobs:
|
||||
- name: Install Dependencies (Linux_intel)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz curl
|
||||
sudo apt-get install ninja-build graphviz curl
|
||||
|
||||
- name: add oneAPI to env
|
||||
uses: fortran-lang/setup-fortran@47809fdb6e637da656ce9ada436527b240c1287f # v1
|
||||
@@ -639,7 +624,7 @@ jobs:
|
||||
version: '2025.0'
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
@@ -738,7 +723,7 @@ jobs:
|
||||
- name: Install Dependencies (Linux_clang)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz curl
|
||||
sudo apt-get install ninja-build graphviz curl
|
||||
|
||||
- name: check clang version
|
||||
shell: bash
|
||||
@@ -747,7 +732,7 @@ jobs:
|
||||
clang -v
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
|
||||
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
@@ -25,10 +25,16 @@ jobs:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Setup Doxygen
|
||||
uses: ./.github/actions/setup-doxygen
|
||||
|
||||
- name: Install Linux Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ninja-build doxygen graphviz
|
||||
sudo apt-get install ninja-build graphviz
|
||||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
|
||||
sudo apt install libaec0 libaec-dev
|
||||
sudo apt install gcc-12 g++-12 gfortran-12
|
||||
@@ -36,9 +42,6 @@ jobs:
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Configure
|
||||
shell: bash
|
||||
run: |
|
||||
|
||||
@@ -16,12 +16,12 @@ jobs:
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6
|
||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
|
||||
with:
|
||||
python-version: '3.11' # Use specific version for consistency
|
||||
|
||||
- name: Cache pip dependencies
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
|
||||
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
# still test the connector against changes in HDF5.
|
||||
- name: Restore ADIOS2 (${{ env.ADIOS2_COMMIT_SHORT }}) installation cache
|
||||
id: cache-adios2
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
with:
|
||||
path: ${{ runner.workspace }}/adios2-${{ env.ADIOS2_COMMIT_SHORT }}-install
|
||||
key: ${{ runner.os }}-${{ runner.arch }}-adios2-${{ env.ADIOS2_COMMIT }}-${{ inputs.build_mode }}-cache
|
||||
@@ -97,7 +97,7 @@ jobs:
|
||||
make -j2 install
|
||||
|
||||
- name: Cache ADIOS2 (${{ env.ADIOS2_COMMIT_SHORT }}) installation
|
||||
uses: actions/cache/save@9255dc7a253b0ccc959486e2bca901246202afeb # v4
|
||||
uses: actions/cache/save@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
|
||||
if: ${{ steps.cache-adios2.outputs.cache-hit != 'true' }}
|
||||
with:
|
||||
path: ${{ runner.workspace }}/adios2-${{ env.ADIOS2_COMMIT_SHORT }}-install
|
||||
|
||||
@@ -78,7 +78,7 @@ jobs:
|
||||
echo "LD_LIBRARY_PATH=${{ github.workspace }}/hdf5/build/bin" >> $GITHUB_ENV
|
||||
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6
|
||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
|
||||
|
||||
@@ -20,3 +20,8 @@ src/H5config.h.in
|
||||
/CMakeUserPresets.json
|
||||
HDF5Examples/CMakeUserPresets.json
|
||||
/CLAUDE.md
|
||||
|
||||
# Emacs temporary and lock files
|
||||
*~
|
||||
\#*\#
|
||||
.\#*
|
||||
|
||||
@@ -58,8 +58,6 @@ include (ExternalProject)
|
||||
set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)")
|
||||
set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ)
|
||||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
set (ZLIB_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for ZLIB else search" FORCE)
|
||||
set (SZIP_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for SZIP else search" FORCE)
|
||||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT")
|
||||
if (HDF5_USE_ZLIB_NG)
|
||||
set (ZLIB_URL ${ZLIBNG_GIT_URL} CACHE STRING "Path to zlib-ng git repository")
|
||||
@@ -161,13 +159,6 @@ if (HDF5_ENABLE_ZLIB_SUPPORT)
|
||||
endif ()
|
||||
set (H5_ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR})
|
||||
set (H5_ZLIB_INCLUDE_DIRS ${H5_ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR})
|
||||
if (NOT WIN32) #windows has a list of names
|
||||
# The FindZLIB.cmake module does not set an OUTPUT_NAME
|
||||
# on the target. The target returned is: ZLIB::ZLIB
|
||||
get_filename_component (libname ${ZLIB_LIBRARIES} NAME_WLE)
|
||||
string (REGEX REPLACE "^lib" "" libname ${libname})
|
||||
set_target_properties (ZLIB::ZLIB PROPERTIES OUTPUT_NAME ${libname})
|
||||
endif ()
|
||||
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ZLIB::ZLIB)
|
||||
endif ()
|
||||
else ()
|
||||
@@ -229,17 +220,6 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE)
|
||||
message (FATAL_ERROR "SZIP support in HDF5 was enabled and libaec was found, but no libsz compatibility library was found")
|
||||
endif ()
|
||||
if (NOT WIN32)
|
||||
foreach(AEC_TARGET IN ITEMS libaec::sz libaec::aec)
|
||||
string (REPLACE "libaec::" "" libname ${AEC_TARGET})
|
||||
# Libaec::aec and libsz::sz are ALIAS targets if libaec is built via CMake
|
||||
get_target_property(AEC_ALIASED ${AEC_TARGET} ALIASED_TARGET)
|
||||
if(AEC_ALIASED)
|
||||
set(AEC_TARGET ${AEC_ALIASED})
|
||||
endif()
|
||||
set_target_properties(${AEC_TARGET} PROPERTIES OUTPUT_NAME ${libname})
|
||||
endforeach()
|
||||
endif()
|
||||
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} libaec::sz libaec::aec)
|
||||
else ()
|
||||
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES})
|
||||
|
||||
@@ -299,6 +299,9 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
|
||||
else ()
|
||||
set (CPACK_PACKAGE_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
endif ()
|
||||
if (CMAKE_C_COMPILER_ARCHITECTURE_ID MATCHES "ARM64")
|
||||
set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-winarm64")
|
||||
endif ()
|
||||
set (CPACK_PACKAGE_VERSION_MAJOR "${HDF5_PACKAGE_VERSION_MAJOR}")
|
||||
set (CPACK_PACKAGE_VERSION_MINOR "${HDF5_PACKAGE_VERSION_MINOR}")
|
||||
set (CPACK_PACKAGE_VERSION_PATCH "")
|
||||
|
||||
+1
-1
@@ -1147,7 +1147,7 @@ if (HDF5_BUILD_DOC AND EXISTS "${HDF5_DOXYGEN_DIR}" AND IS_DIRECTORY "${HDF5_DOX
|
||||
else ()
|
||||
set (HDF5_DOXY_WARNINGS "NO")
|
||||
endif ()
|
||||
message (VERBOSE "Doxygen version: ${DOXYGEN_VERSION}")
|
||||
message (STATUS "Found Doxygen version: ${DOXYGEN_VERSION}")
|
||||
|
||||
# Set the default directory for the Java sources for doxygen
|
||||
if (Java_VERSION_STRING VERSION_GREATER_EQUAL "25.0.0")
|
||||
|
||||
@@ -346,6 +346,16 @@
|
||||
"ci-StdShar"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ci-StdShar-MSVC-ARM64",
|
||||
"description": "MSVC Standard Config for ARM64 (Release)",
|
||||
"inherits": [
|
||||
"ci-arm64-Release-MSVC",
|
||||
"ci-CPP",
|
||||
"ci-Java",
|
||||
"ci-StdShar"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ci-StdShar-MSVC-FFM",
|
||||
"description": "MSVC Standard Config for x64 with Java FFM (Requires Java 25+) (Release)",
|
||||
@@ -664,6 +674,14 @@
|
||||
"ci-x64-Release-MSVC"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ci-StdShar-MSVC-ARM64",
|
||||
"description": "MSVC Standard Build for ARM64 (Release)",
|
||||
"configurePreset": "ci-StdShar-MSVC-ARM64",
|
||||
"inherits": [
|
||||
"ci-arm64-Release-MSVC"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ci-StdShar-MSVC-FFM",
|
||||
"description": "MSVC Standard Build for x64 with Java FFM (Requires Java 25+) (Release)",
|
||||
@@ -938,6 +956,13 @@
|
||||
"ci-x64-Release-MSVC"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ci-StdShar-MSVC-ARM64",
|
||||
"configurePreset": "ci-StdShar-MSVC-ARM64",
|
||||
"inherits": [
|
||||
"ci-arm64-Release-MSVC"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ci-StdShar-MSVC-FFM",
|
||||
"configurePreset": "ci-StdShar-MSVC-FFM",
|
||||
@@ -1189,6 +1214,11 @@
|
||||
"configurePreset": "ci-StdShar-MSVC",
|
||||
"inherits": "ci-x64-Release-MSVC"
|
||||
},
|
||||
{
|
||||
"name": "ci-StdShar-MSVC-ARM64",
|
||||
"configurePreset": "ci-StdShar-MSVC-ARM64",
|
||||
"inherits": "ci-arm64-Release-MSVC"
|
||||
},
|
||||
{
|
||||
"name": "ci-StdShar-MSVC-FFM",
|
||||
"configurePreset": "ci-StdShar-MSVC-FFM",
|
||||
@@ -1332,6 +1362,27 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ci-StdShar-MSVC-ARM64",
|
||||
"steps": [
|
||||
{
|
||||
"type": "configure",
|
||||
"name": "ci-StdShar-MSVC-ARM64"
|
||||
},
|
||||
{
|
||||
"type": "build",
|
||||
"name": "ci-StdShar-MSVC-ARM64"
|
||||
},
|
||||
{
|
||||
"type": "test",
|
||||
"name": "ci-StdShar-MSVC-ARM64"
|
||||
},
|
||||
{
|
||||
"type": "package",
|
||||
"name": "ci-StdShar-MSVC-ARM64"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ci-StdShar-MSVC-FFM",
|
||||
"steps": [
|
||||
|
||||
@@ -223,7 +223,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
add_test (NAME ${EXAMPLE_VARNAME}_${testname} COMMAND $<TARGET_FILE:${EXAMPLE_VARNAME}_${testname}>)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
else ()
|
||||
add_test (
|
||||
@@ -240,7 +239,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -257,7 +255,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -228,7 +228,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname}-ERR PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (
|
||||
NAME ${EXAMPLE_VARNAME}_${testname}
|
||||
@@ -254,7 +253,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
set (last_test "${EXAMPLE_VARNAME}_${testname}")
|
||||
@@ -313,7 +311,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
endif ()
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
set (last_test "${EXAMPLE_VARNAME}_H5DUMP-${testname}")
|
||||
endif ()
|
||||
|
||||
@@ -249,7 +249,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -266,7 +265,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -304,7 +302,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -335,7 +332,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -352,7 +348,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname}1 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (
|
||||
NAME ${EXAMPLE_VARNAME}_H5DUMP-${testname}2
|
||||
@@ -368,7 +363,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname}2 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_H5DUMP-${testname}1
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -397,7 +391,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
@@ -370,7 +370,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -387,7 +386,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -416,7 +414,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
@@ -144,7 +144,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -161,7 +160,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -215,7 +215,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -232,7 +231,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -261,7 +259,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -279,7 +276,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -302,12 +298,10 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
add_test (NAME ${EXAMPLE_VARNAME}_h5ex_lite1 COMMAND $<TARGET_FILE:${EXAMPLE_VARNAME}_h5ex_lite1>)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_h5ex_lite1 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_h5ex_lite-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (NAME ${EXAMPLE_VARNAME}_h5ex_lite2 COMMAND $<TARGET_FILE:${EXAMPLE_VARNAME}_h5ex_lite2>)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_h5ex_lite2 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_h5ex_lite1
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
else ()
|
||||
add_test (
|
||||
@@ -324,7 +318,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_h5ex_lite1 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_h5ex_lite-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (
|
||||
NAME ${EXAMPLE_VARNAME}_h5ex_lite2
|
||||
@@ -340,7 +333,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_h5ex_lite2 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_h5ex_lite1
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -101,7 +101,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
endif ()
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_tutr_${testname} PROPERTIES
|
||||
FIXTURES_REQUIRED clear_${EXAMPLE_VARNAME}_tutr
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (last_test)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_tutr_${testname} PROPERTIES DEPENDS ${last_test})
|
||||
|
||||
@@ -145,14 +145,6 @@ if (${H5_LIBVER_DIR} GREATER 16)
|
||||
if (H5EXAMPLE_BUILD_FORTRAN AND HDF5_PROVIDES_FORTRAN)
|
||||
set (H5EXAMPLE_LINK_Fortran_LIBS ${H5EXAMPLE_HDF5_LINK_LIBS})
|
||||
|
||||
# Parallel IO usage requires MPI to be Linked and Included
|
||||
if (H5_HAVE_PARALLEL)
|
||||
set (H5EXAMPLE_LINK_Fortran_LIBS ${H5EXAMPLE_LINK_Fortran_LIBS} ${MPI_Fortran_LIBRARIES})
|
||||
if (MPI_Fortran_LINK_FLAGS)
|
||||
set (CMAKE_Fortran_EXE_LINKER_FLAGS "${MPI_Fortran_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
configure_file (${H5EXAMPLE_F90_SRC_DIR}/H5D/h5_version.h.in ${PROJECT_BINARY_DIR}/FORTRAN/H5D/h5_version.h @ONLY)
|
||||
configure_file (${H5EXAMPLE_F90_SRC_DIR}/H5D/h5_version.h.in ${PROJECT_BINARY_DIR}/FORTRAN/H5G/h5_version.h @ONLY)
|
||||
else ()
|
||||
@@ -223,6 +215,7 @@ endif ()
|
||||
# Build examples
|
||||
#-----------------------------------------------------------------------------
|
||||
add_subdirectory (C)
|
||||
# Fortran MPI setup (find_package, link flags) is handled in FORTRAN/CMakeLists.txt
|
||||
if (H5EXAMPLE_BUILD_FORTRAN AND HDF5_PROVIDES_FORTRAN)
|
||||
add_subdirectory (FORTRAN)
|
||||
endif ()
|
||||
|
||||
@@ -69,7 +69,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
endif ()
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_cpp_ex_${testname} PROPERTIES
|
||||
FIXTURES_REQUIRED clear_${EXAMPLE_VARNAME}_cpp_ex
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (last_test)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_cpp_ex_${testname} PROPERTIES DEPENDS ${last_test})
|
||||
|
||||
@@ -65,7 +65,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
endif ()
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_cpp_ex_${testname} PROPERTIES
|
||||
FIXTURES_REQUIRED clear_${EXAMPLE_VARNAME}_cpp_ex
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (last_test)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_cpp_ex_${testname} PROPERTIES DEPENDS ${last_test})
|
||||
|
||||
@@ -49,7 +49,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_cpp_ex_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_cpp_ex_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
if (last_test)
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
PROJECT (HDF5Examples_F90 Fortran)
|
||||
|
||||
# Parallel IO usage requires MPI to be linked and included
|
||||
if (H5_HAVE_PARALLEL)
|
||||
find_package(MPI REQUIRED COMPONENTS Fortran)
|
||||
# Use imported target — carries include dirs, compile flags, and link flags transitively
|
||||
list(APPEND H5EXAMPLE_LINK_Fortran_LIBS MPI::MPI_Fortran)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Build the Fortran Examples
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -263,9 +263,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
-D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}"
|
||||
-P "${H5EXAMPLE_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (last_test)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES
|
||||
DEPENDS ${last_test}
|
||||
@@ -287,7 +284,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-f90_${testname} PROPERTIES
|
||||
DEPENDS ${last_test}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
set (last_test "${EXAMPLE_VARNAME}_H5DUMP-f90_${testname}")
|
||||
endif ()
|
||||
|
||||
@@ -198,7 +198,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname}-clean PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_f90_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
else ()
|
||||
add_test (
|
||||
@@ -213,9 +212,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
-D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}"
|
||||
-P "${H5EXAMPLE_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (last_test)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
@@ -235,7 +231,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-f90_${testname} PROPERTIES
|
||||
DEPENDS ${last_test}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
set (last_test "${EXAMPLE_VARNAME}_H5DUMP-f90_${testname}")
|
||||
endif ()
|
||||
@@ -269,9 +264,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
-D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}"
|
||||
-P "${H5EXAMPLE_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (last_test)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
@@ -291,7 +283,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-f90_${testname} PROPERTIES
|
||||
DEPENDS ${last_test}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
set (last_test "${EXAMPLE_VARNAME}_H5DUMP-f90_${testname}")
|
||||
endif ()
|
||||
@@ -315,7 +306,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
add_test (NAME ${EXAMPLE_VARNAME}_f90_${testname} COMMAND $<TARGET_FILE:${EXAMPLE_VARNAME}_f90_${testname}>)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_f90_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (
|
||||
NAME ${EXAMPLE_VARNAME}_f90_${testname}-clean
|
||||
@@ -352,7 +342,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
endif ()
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_f90_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -369,7 +358,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-f90_${testname}1 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_f90_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (
|
||||
NAME ${EXAMPLE_VARNAME}_H5DUMP-f90_${testname}2
|
||||
@@ -385,7 +373,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-f90_${testname}2 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_H5DUMP-f90_${testname}1
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -414,7 +401,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
endif ()
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_f90_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (
|
||||
NAME ${EXAMPLE_VARNAME}_f90_${testname}-clean
|
||||
|
||||
@@ -30,7 +30,6 @@ foreach (example_name ${examples})
|
||||
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_114_API}>:-DH5_USE_114_API>"
|
||||
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_200_API}>:-DH5_USE_200_API>"
|
||||
)
|
||||
target_include_directories (${EXAMPLE_VARNAME}_f90_${example_name} PUBLIC ${MPI_Fortran_INCLUDE_DIRS})
|
||||
target_link_libraries (${EXAMPLE_VARNAME}_f90_${example_name} ${H5EXAMPLE_LINK_Fortran_LIBS})
|
||||
set_target_properties (${EXAMPLE_VARNAME}_f90_${example_name} PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
endforeach ()
|
||||
|
||||
@@ -312,7 +312,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname}-clean PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_f90_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
else ()
|
||||
add_test (
|
||||
@@ -327,9 +326,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
-D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}"
|
||||
-P "${H5EXAMPLE_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (last_test)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
@@ -349,7 +345,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-f90_${testname} PROPERTIES
|
||||
DEPENDS ${last_test}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
set (last_test "${EXAMPLE_VARNAME}_H5DUMP-f90_${testname}")
|
||||
endif ()
|
||||
@@ -384,7 +379,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
endif ()
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_f90_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (
|
||||
NAME ${EXAMPLE_VARNAME}_f90_${testname}-clean
|
||||
|
||||
@@ -171,7 +171,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname}-clean PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_f90_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
else ()
|
||||
add_test (
|
||||
@@ -186,9 +185,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
-D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}"
|
||||
-P "${H5EXAMPLE_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (last_test)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_${testname} PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
@@ -209,7 +205,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-f90_${testname} PROPERTIES
|
||||
DEPENDS ${last_test}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
set (last_test "${EXAMPLE_VARNAME}_H5DUMP-f90_${testname}")
|
||||
endif ()
|
||||
|
||||
@@ -106,7 +106,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
endif ()
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_tutr_${testname} PROPERTIES
|
||||
FIXTURES_REQUIRED clear_${EXAMPLE_VARNAME}_f90_tutr
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (last_test)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_f90_tutr_${testname} PROPERTIES DEPENDS ${last_test})
|
||||
|
||||
@@ -42,7 +42,6 @@ elseif(MINGW)
|
||||
set (CMAKE_CROSSCOMPILING_EMULATOR wine)
|
||||
|
||||
include_directories(/usr/${TOOLCHAIN_PREFIX}/include)
|
||||
set (CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS On CACHE BOOL "Export windows symbols")
|
||||
else ()
|
||||
set (CMAKE_SYSTEM_NAME Linux)
|
||||
|
||||
|
||||
@@ -25,8 +25,6 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
set (CMAKE_CROSSCOMPILING_EMULATOR wine64)
|
||||
set (CROSSCOMPILING_PATH "WINEPATH=/usr/${TOOLCHAIN_PREFIX}/sys-root/mingw/bin/")
|
||||
|
||||
set (CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS On CACHE BOOL "Export windows symbols")
|
||||
|
||||
|
||||
@@ -478,6 +478,47 @@ sub create_public ($) {
|
||||
close HEADER;
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Create the generated CMake file for Doxygen PREDEFINED macros
|
||||
#
|
||||
sub create_doxygen_cmake ($) {
|
||||
my $prefix = shift; # Get the prefix for the source file (e.g., "src/")
|
||||
my $file = "H5version_doxygen.cmake"; # Name of file to generate
|
||||
|
||||
# Output to doxygen directory (relative to src/)
|
||||
my $doxygen_dir = $prefix;
|
||||
$doxygen_dir =~ s/src\/?$/doxygen\//; # Replace "src/" with "doxygen/"
|
||||
|
||||
# Create doxygen directory if it doesn't exist
|
||||
if ($doxygen_dir ne "" && ! -d $doxygen_dir) {
|
||||
mkdir $doxygen_dir or die "unable to create directory: $doxygen_dir";
|
||||
}
|
||||
|
||||
# Open new cmake file in doxygen directory
|
||||
open CMAKE, ">${doxygen_dir}${file}" or die "unable to create doxygen cmake file: ${doxygen_dir}${file}";
|
||||
|
||||
# Create file contents
|
||||
print CMAKE "# Generated automatically by bin/make_vers -- do not edit\n";
|
||||
print CMAKE "# Add new versioned symbols to H5vers.txt file\n";
|
||||
print CMAKE "#\n";
|
||||
print CMAKE "# Doxygen PREDEFINED entries for versioned APIs\n";
|
||||
print CMAKE "# These macros tell Doxygen which version each API name maps to,\n";
|
||||
print CMAKE "# preventing \"multiple \@param documentation sections\" warnings\n";
|
||||
print CMAKE "\n";
|
||||
print CMAKE "list (APPEND _doxygen_predefined_entries\n";
|
||||
|
||||
# Add function version macros (sorted for consistency)
|
||||
for my $name (sort keys %functions) {
|
||||
my $vers = $functions{$name};
|
||||
print CMAKE " \"$name=$name$vers\"\n";
|
||||
}
|
||||
|
||||
print CMAKE ")\n";
|
||||
|
||||
# Close cmake file
|
||||
close CMAKE;
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Read symbol version file (given as command-line argument) in and process it
|
||||
# into internal data structures, then create header files.
|
||||
@@ -508,5 +549,7 @@ for $file (@ARGV) {
|
||||
# Create header files
|
||||
print "Generating 'H5version.h'\n";
|
||||
create_public($prefix);
|
||||
print "Generating 'doxygen/H5version_doxygen.cmake'\n";
|
||||
create_doxygen_cmake($prefix);
|
||||
}
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@ if (${HDF_CFG_NAME} MATCHES "Debug" OR ${HDF_CFG_NAME} MATCHES "Developer")
|
||||
endif ()
|
||||
|
||||
set (_PKG_CONFIG_EXTRA_CFLAGS)
|
||||
set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${PKG_CONFIG_LIBNAME}")
|
||||
set (_PKG_CONFIG_LIBS "-l${PKG_CONFIG_LIBNAME}")
|
||||
set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_NAME} = ${HDF5_PACKAGE_VERSION}")
|
||||
set (_PKG_CONFIG_LIBS_PRIVATE)
|
||||
set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_NAME} = ${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
@@ -33,7 +33,6 @@ else ()
|
||||
endif ()
|
||||
set_tests_properties (CPP_testhdf5 PROPERTIES
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if ("CPP_testhdf5" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
|
||||
set_tests_properties (CPP_testhdf5 PROPERTIES DISABLED true)
|
||||
|
||||
@@ -37,7 +37,6 @@ macro (ADD_VFD_TEST vfdname resultcode)
|
||||
)
|
||||
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES
|
||||
TIMEOUT ${CTEST_SHORT_TIMEOUT}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if ("CPP_VFD-${vfdname}-cpp_testhdf5" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
|
||||
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES DISABLED true)
|
||||
|
||||
@@ -735,7 +735,7 @@ if (HDF5_BUILD_FORTRAN)
|
||||
# Get the max decimal precision in C, checking both long double and
|
||||
# __float128 (if available)
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT CMAKE_CROSSCOMPILING)
|
||||
if (NOT CMAKE_CROSSCOMPILING OR (CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR))
|
||||
#-----------------------------------------------------------------------------
|
||||
# The provided CMake C macros don't provide a general compile/run function
|
||||
# so this one is used.
|
||||
@@ -747,16 +747,10 @@ if (HDF5_BUILD_FORTRAN)
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
|
||||
${SOURCE_CODE}
|
||||
)
|
||||
if (CMAKE_VERSION VERSION_LESS 3.25)
|
||||
set (_RUN_OUTPUT_VARIABLE "RUN_OUTPUT_VARIABLE")
|
||||
else ()
|
||||
set (_RUN_OUTPUT_VARIABLE "RUN_OUTPUT_STDOUT_VARIABLE")
|
||||
endif ()
|
||||
TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
|
||||
try_run (RUN_RESULT_VAR COMPILE_RESULT_VAR
|
||||
SOURCES ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
|
||||
COMPILE_OUTPUT_VARIABLE COMPILEOUT
|
||||
${_RUN_OUTPUT_VARIABLE} OUTPUT_VAR
|
||||
RUN_OUTPUT_STDOUT_VARIABLE OUTPUT_VAR
|
||||
)
|
||||
|
||||
set (${RETURN_OUTPUT_VAR} ${OUTPUT_VAR})
|
||||
@@ -844,7 +838,7 @@ endif()
|
||||
#-----------------------------------------------------------------------------
|
||||
macro (H5ConversionTests TEST def msg)
|
||||
if (NOT DEFINED ${TEST})
|
||||
if (NOT CMAKE_CROSSCOMPILING)
|
||||
if (NOT CMAKE_CROSSCOMPILING OR (CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR))
|
||||
# Build and run the test code if not cross-compiling
|
||||
TRY_RUN (${TEST}_RUN ${TEST}_COMPILE
|
||||
${CMAKE_BINARY_DIR}
|
||||
|
||||
@@ -0,0 +1,286 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the LICENSE file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://www.hdfgroup.org/licenses.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
|
||||
#
|
||||
# This file provides functionality for creating pkg-config files for HDF5.
|
||||
#
|
||||
|
||||
# Function to inspect a CMake target or library name/path and extract any
|
||||
# available information needed when creating an HDF5 pkg-config file that
|
||||
# makes use of that library.
|
||||
#
|
||||
# NOTE: Currently, this function assumes that libraries don't have pkg-config
|
||||
# support and so returns flags to be added to the "Libs" or "Libs.private"
|
||||
# field (as determined by the caller) and "Cflags" field in the pkg-config
|
||||
# file. Ideally, pkg_check_modules() should be used to check if a particular
|
||||
# library has pkg-config support so that the library can be added to the
|
||||
# "Requires" or "Requires.private" field instead, as needed. Some additional
|
||||
# logic will be needed to determine the pkg-config module name from the CMake
|
||||
# target name or library name.
|
||||
#
|
||||
# Input variables:
|
||||
#
|
||||
# - library
|
||||
# Specifies the CMake target name or library name/path to inspect.
|
||||
#
|
||||
# - _pkgconfig_libs_outvar
|
||||
# Specifies the name of the CMake variable which will be populated
|
||||
# with the flags for the library that should be added to the "Libs"
|
||||
# or "Libs.private" field (as determined by the caller) of a pkg-config
|
||||
# file. After processing the library, the variable pointed to by
|
||||
# _pkgconfig_libs_outvar will be a CMake list of flags.
|
||||
#
|
||||
# - _pkgconfig_extra_cflags_outvar
|
||||
# Specifies the name of the CMake variable which will be populated
|
||||
# with the flags for the library that should be added to the
|
||||
# "Cflags" field of a pkg-config file. After processing the library,
|
||||
# the variable pointed to by _pkgconfig_extra_cflags_outvar will be
|
||||
# a CMake list of flags.
|
||||
#
|
||||
# - _lib_skipped_outvar
|
||||
# Specifies the name of the CMake variable which will be set to TRUE
|
||||
# if a library was skipped for processing for some reason and FALSE
|
||||
# otherwise.
|
||||
#
|
||||
# Output variables:
|
||||
#
|
||||
# None
|
||||
#
|
||||
function (extract_lib_pkgconfig_info
|
||||
library
|
||||
_pkgconfig_libs_outvar
|
||||
_pkgconfig_extra_cflags_outvar
|
||||
_lib_skipped_outvar)
|
||||
# Initialize outputs to known values
|
||||
unset (${_pkgconfig_libs_outvar} PARENT_SCOPE)
|
||||
unset (${_pkgconfig_extra_cflags_outvar} PARENT_SCOPE)
|
||||
set (${_lib_skipped_outvar} FALSE PARENT_SCOPE)
|
||||
|
||||
unset (library_deps_list)
|
||||
unset (library_cflags_list)
|
||||
|
||||
# Get current project build configuration type in case we need to map
|
||||
# to an imported target's config-specific properties. To be safe for
|
||||
# now, avoid processing libraries when using a multi-config generator
|
||||
# with more than one configuration. pkg-config files are currently
|
||||
# generated at configure time, but the build configuration type is
|
||||
# determined at build time. If mapping between the current build
|
||||
# configuration type and a list of imported library locations (based
|
||||
# on the current build configuration type) is needed later on, this
|
||||
# function will be unable to properly do so.
|
||||
get_cmake_property (is_multiconfig_gen GENERATOR_IS_MULTI_CONFIG)
|
||||
if (is_multiconfig_gen)
|
||||
list (LENGTH CMAKE_CONFIGURATION_TYPES num_configs)
|
||||
if (num_configs GREATER "1")
|
||||
message (AUTHOR_WARNING "Cannot generate pkg-config files correctly for multi-config generators")
|
||||
set (${_lib_skipped_outvar} TRUE PARENT_SCOPE)
|
||||
return ()
|
||||
elseif (num_configs EQUAL "1")
|
||||
set (project_build_config "${CMAKE_CONFIGURATION_TYPES}")
|
||||
else ()
|
||||
set (project_build_config Release)
|
||||
endif ()
|
||||
else ()
|
||||
set (project_build_config "${CMAKE_BUILD_TYPE}")
|
||||
endif ()
|
||||
if (project_build_config STREQUAL "Developer")
|
||||
set (project_build_config "Debug")
|
||||
endif ()
|
||||
|
||||
# If this is a regular library, add it to the list of libraries for the
|
||||
# Libs.private field. Otherwise, do special processing for library targets.
|
||||
if (NOT TARGET ${library})
|
||||
# Avoid generator expressions related to flags for now. A more complete
|
||||
# solution will be needed in order to correctly evaluate these.
|
||||
string (GENEX_STRIP "${library}" library_genex_stripped)
|
||||
if (NOT "${library}" STREQUAL "${library_genex_stripped}")
|
||||
message (AUTHOR_WARNING "Not processing CMake generator expression for library ${library} for pkg-config files")
|
||||
set (${_lib_skipped_outvar} TRUE PARENT_SCOPE)
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
if (IS_ABSOLUTE "${library}" OR "${library}" MATCHES "^-")
|
||||
list (APPEND library_deps_list "${library}")
|
||||
else ()
|
||||
list (APPEND library_deps_list "-l${library}")
|
||||
endif ()
|
||||
|
||||
set (${_pkgconfig_libs_outvar} "${library_deps_list}" PARENT_SCOPE)
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
# Retrieve INTERFACE properties from the target which may be needed in
|
||||
# "Cflags" for compiling
|
||||
get_target_property (lib_interface_include_dirs ${library} INTERFACE_INCLUDE_DIRECTORIES)
|
||||
if (lib_interface_include_dirs)
|
||||
foreach (include_dir ${lib_interface_include_dirs})
|
||||
# Avoid generator expressions related to flags for now. A more complete
|
||||
# solution will be needed in order to correctly evaluate these.
|
||||
string (GENEX_STRIP "${include_dir}" include_dir_genex_stripped)
|
||||
if (NOT "${include_dir}" STREQUAL "${include_dir_genex_stripped}")
|
||||
message (AUTHOR_WARNING "Not processing CMake generator expression ${include_dir} for library ${library} for pkg-config files")
|
||||
continue ()
|
||||
endif ()
|
||||
|
||||
if ("${include_dir}" MATCHES "^-")
|
||||
list (APPEND library_cflags_list "${include_dir}")
|
||||
else ()
|
||||
list (APPEND library_cflags_list "-I${include_dir}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
get_target_property (lib_interface_compile_opts ${library} INTERFACE_COMPILE_OPTIONS)
|
||||
if (lib_interface_compile_opts)
|
||||
foreach (compile_opt ${lib_interface_compile_opts})
|
||||
# Avoid generator expressions related to flags for now. A more complete
|
||||
# solution will be needed in order to correctly evaluate these.
|
||||
string (GENEX_STRIP "${compile_opt}" compile_opt_genex_stripped)
|
||||
if (NOT "${compile_opt}" STREQUAL "${compile_opt_genex_stripped}")
|
||||
message (AUTHOR_WARNING "Not processing CMake generator expression ${compile_opt} for library ${library} for pkg-config files")
|
||||
continue ()
|
||||
endif ()
|
||||
|
||||
list (APPEND library_cflags_list "${compile_opt}")
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
get_target_property (lib_interface_compile_defs ${library} INTERFACE_COMPILE_DEFINITIONS)
|
||||
if (lib_interface_compile_defs)
|
||||
foreach (compile_def ${lib_interface_compile_defs})
|
||||
# Avoid generator expressions related to flags for now. A more complete
|
||||
# solution will be needed in order to correctly evaluate these.
|
||||
string (GENEX_STRIP "${compile_def}" compile_def_genex_stripped)
|
||||
if (NOT "${compile_def}" STREQUAL "${compile_def_genex_stripped}")
|
||||
message (AUTHOR_WARNING "Not processing CMake generator expression ${compile_def} for library ${library} for pkg-config files")
|
||||
continue ()
|
||||
endif ()
|
||||
|
||||
list (APPEND library_cflags_list "${compile_def}")
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
# Determine appropriate flags for linking against library
|
||||
unset (lib_name)
|
||||
get_target_property (lib_is_imported ${library} IMPORTED)
|
||||
get_target_property (lib_type ${library} TYPE)
|
||||
if (lib_is_imported AND NOT lib_type STREQUAL "INTERFACE_LIBRARY")
|
||||
unset (lib_path)
|
||||
|
||||
# Find a path for the library and process it into a library name for linking
|
||||
# against. First, check for a particular IMPORTED_LOCATION_<CONFIG> property
|
||||
# and use it if set. Some mapping between the library's imported configurations
|
||||
# and the project's current build configuration type may be needed. If that
|
||||
# property isn't set, check for the IMPORTED_LOCATION property and use it if
|
||||
# set. If neither are set, check for the LOCATION property and use it if set.
|
||||
get_target_property (lib_imported_configs ${library} IMPORTED_CONFIGURATIONS)
|
||||
if (lib_imported_configs)
|
||||
list (LENGTH lib_imported_configs num_configs)
|
||||
if (num_configs EQUAL "1")
|
||||
get_target_property (lib_path ${library} IMPORTED_LOCATION_${lib_imported_configs})
|
||||
elseif (num_configs GREATER "1")
|
||||
# Find a suitable configuration of the imported library that matches this
|
||||
# project's current build configuration type, if available.
|
||||
string (TOUPPER "${project_build_config}" project_build_config_upper)
|
||||
get_target_property (lib_path ${library} IMPORTED_LOCATION_${project_build_config_upper})
|
||||
if (NOT lib_path)
|
||||
get_target_property (lib_path ${library} IMPORTED_LOCATION_${project_build_config})
|
||||
endif ()
|
||||
endif () # Assume 0 configurations is a problem with the library's configuration; move on
|
||||
endif ()
|
||||
if (NOT lib_path)
|
||||
get_target_property (lib_path ${library} IMPORTED_LOCATION)
|
||||
endif ()
|
||||
if (NOT lib_path)
|
||||
get_target_property (lib_path ${library} LOCATION)
|
||||
endif ()
|
||||
|
||||
# Get base library name without extensions
|
||||
if (lib_path)
|
||||
# Avoid generator expressions in library locations for now. A more complete
|
||||
# solution will be needed in order to correctly evaluate these.
|
||||
string (GENEX_STRIP "${lib_path}" lib_path_genex_stripped)
|
||||
if (NOT "${lib_path}" STREQUAL "${lib_path_genex_stripped}")
|
||||
message (AUTHOR_WARNING "Not processing CMake generator expression ${lib_path} for library ${library} for pkg-config files")
|
||||
set (${_lib_skipped_outvar} TRUE PARENT_SCOPE)
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
cmake_path (GET lib_path STEM lib_name)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# If a library name couldn't be determined from the LOCATION or IMPORTED_LOCATION(_...)
|
||||
# try OUTPUT_NAME. If the target isn't an imported target, but has an OUTPUT_NAME
|
||||
# set for it, it's likely an internal target for a filter plugin or similar which
|
||||
# will be built at library build time. This is a fragile assumption, but should
|
||||
# work for now.
|
||||
if (NOT lib_name AND NOT lib_type STREQUAL "INTERFACE_LIBRARY")
|
||||
get_target_property (lib_outname ${library} OUTPUT_NAME)
|
||||
if (lib_outname)
|
||||
# Avoid generator expressions in library names for now. A more complete
|
||||
# solution will be needed in order to correctly evaluate these.
|
||||
string (GENEX_STRIP "${lib_outname}" lib_outname_genex_stripped)
|
||||
if (NOT "${lib_outname}" STREQUAL "${lib_outname_genex_stripped}")
|
||||
message (AUTHOR_WARNING "Not processing CMake generator expression ${lib_outname} for library ${library} for pkg-config files")
|
||||
set (${_lib_skipped_outvar} TRUE PARENT_SCOPE)
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
cmake_path (GET lib_outname STEM lib_name)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (lib_name)
|
||||
string (REGEX REPLACE "^lib" "" lib_name "${lib_name}")
|
||||
list (APPEND library_deps_list "-l${lib_name}")
|
||||
else ()
|
||||
# Issue a warning for non-interface imported targets that we couldn't obtain a
|
||||
# valid name for, as the library can't be processed at this point. Currently,
|
||||
# it's assumed that non-imported targets without a valid name of some sort won't
|
||||
# be needed in a pkg-config file; they are silently skipped.
|
||||
if (lib_is_imported AND NOT lib_type STREQUAL "INTERFACE_LIBRARY")
|
||||
message (AUTHOR_WARNING "Couldn't obtain a valid name for library ${library} for pkg-config files")
|
||||
endif ()
|
||||
|
||||
# Targets of type INTERFACE_LIBRARY are still processed for their compile
|
||||
# definitions and link dependencies.
|
||||
if (NOT lib_type STREQUAL "INTERFACE_LIBRARY")
|
||||
set (${_lib_skipped_outvar} TRUE PARENT_SCOPE)
|
||||
return ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# Process any transitive link dependencies
|
||||
get_target_property (lib_link_libraries ${library} INTERFACE_LINK_LIBRARIES)
|
||||
if (lib_link_libraries)
|
||||
unset (lib_dep_flags)
|
||||
unset (lib_cflags)
|
||||
unset (lib_skipped)
|
||||
|
||||
foreach (lib_dep ${lib_link_libraries})
|
||||
extract_lib_pkgconfig_info (${lib_dep} lib_dep_flags lib_cflags lib_skipped)
|
||||
if (NOT lib_skipped)
|
||||
if (lib_dep_flags)
|
||||
list (APPEND library_deps_list "${lib_dep_flags}")
|
||||
endif ()
|
||||
if (lib_cflags)
|
||||
list (APPEND library_cflags_list "${lib_cflags}")
|
||||
endif ()
|
||||
endif ()
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
# Propagate variables upward in scope
|
||||
set (${_pkgconfig_libs_outvar} "${library_deps_list}" PARENT_SCOPE)
|
||||
set (${_pkgconfig_extra_cflags_outvar} "${library_cflags_list}" PARENT_SCOPE)
|
||||
endfunction ()
|
||||
+13
-19
@@ -51,22 +51,16 @@ macro (FORTRAN_RUN FUNCTION_NAME SOURCE_CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR1
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
|
||||
"${SOURCE_CODE}"
|
||||
)
|
||||
if (CMAKE_VERSION VERSION_LESS 3.25)
|
||||
set (_RUN_OUTPUT_VARIABLE "RUN_OUTPUT_VARIABLE")
|
||||
else ()
|
||||
set (_RUN_OUTPUT_VARIABLE "RUN_OUTPUT_STDOUT_VARIABLE")
|
||||
endif ()
|
||||
if (${FUNCTION_NAME} STREQUAL "SIZEOF NATIVE KINDs")
|
||||
set (TMP_CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}")
|
||||
else ()
|
||||
set (TMP_CMAKE_Fortran_FLAGS "")
|
||||
endif ()
|
||||
TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
|
||||
try_run (RUN_RESULT_VAR COMPILE_RESULT_VAR
|
||||
SOURCES ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
|
||||
CMAKE_FLAGS "${TMP_CMAKE_Fortran_FLAGS}"
|
||||
LINK_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}"
|
||||
${_RUN_OUTPUT_VARIABLE} OUTPUT_VAR
|
||||
RUN_OUTPUT_STDOUT_VARIABLE OUTPUT_VAR
|
||||
)
|
||||
set (${RETURN_OUTPUT_VAR} ${OUTPUT_VAR})
|
||||
|
||||
@@ -158,7 +152,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
# Determine the available KINDs for REALs and INTEGERs
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT CMAKE_CROSSCOMPILING)
|
||||
if (NOT CMAKE_CROSSCOMPILING OR (CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR))
|
||||
if (${HAVE_ISO_FORTRAN_ENV})
|
||||
READ_SOURCE ("PROGRAM FC08_AVAIL_KINDS" "END PROGRAM FC08_AVAIL_KINDS" SOURCE_CODE)
|
||||
else ()
|
||||
@@ -201,21 +195,21 @@ if (NOT CMAKE_CROSSCOMPILING)
|
||||
endif ()
|
||||
set (${HDF_PREFIX}_PAC_FC_MAX_REAL_PRECISION ${pac_fc_max_real_precision} CACHE INTERNAL "Maximum decimal precision for REALs in Fortran")
|
||||
|
||||
set (PAC_FC_ALL_INTEGER_KINDS "\{${pac_validIntKinds}\}")
|
||||
set (PAC_FC_ALL_REAL_KINDS "\{${pac_validRealKinds}\}")
|
||||
set (PAC_FC_ALL_INTEGER_KINDS "\{${pac_validIntKinds}\}" CACHE INTERNAL "Find available INTEGER KINDs for Fortran")
|
||||
set (PAC_FC_ALL_REAL_KINDS "\{${pac_validRealKinds}\}" CACHE INTERNAL "Find available REAL KINDs for Fortran")
|
||||
|
||||
list (GET PROG_OUTPUT 3 NUM_IKIND)
|
||||
list (GET PROG_OUTPUT 4 NUM_RKIND)
|
||||
|
||||
set (PAC_FORTRAN_NUM_INTEGER_KINDS "${NUM_IKIND}")
|
||||
set (PAC_FORTRAN_NUM_REAL_KINDS "${NUM_RKIND}")
|
||||
set (PAC_FORTRAN_NUM_INTEGER_KINDS "${NUM_IKIND}" CACHE INTERNAL "Number of valid integer kinds for Fortran")
|
||||
set (PAC_FORTRAN_NUM_REAL_KINDS "${NUM_RKIND}" CACHE INTERNAL "Number of valid real kinds for Fortran")
|
||||
|
||||
set (${HDF_PREFIX}_H5CONFIG_F_NUM_IKIND "INTEGER, PARAMETER :: num_ikinds = ${NUM_IKIND}")
|
||||
set (${HDF_PREFIX}_H5CONFIG_F_IKIND "INTEGER, DIMENSION(1:num_ikinds) :: ikind = (/${pac_validIntKinds}/)")
|
||||
|
||||
if (${HAVE_ISO_FORTRAN_ENV})
|
||||
list (GET PROG_OUTPUT 5 NUM_LKIND)
|
||||
set (PAC_FORTRAN_NUM_LOGICAL_KINDS "${NUM_LKIND}")
|
||||
set (PAC_FORTRAN_NUM_LOGICAL_KINDS "${NUM_LKIND}" CACHE INTERNAL "Find available LOGICAL KINDs for Fortran")
|
||||
|
||||
list (GET PROG_OUTPUT 6 pac_validLogicalKinds)
|
||||
# If the list is empty then something went wrong.
|
||||
@@ -223,7 +217,7 @@ if (NOT CMAKE_CROSSCOMPILING)
|
||||
message (FATAL_ERROR "Failed to find available LOGICAL KINDs for Fortran")
|
||||
endif ()
|
||||
|
||||
set (PAC_FC_ALL_LOGICAL_KINDS "\{${pac_validLogicalKinds}\}")
|
||||
set (PAC_FC_ALL_LOGICAL_KINDS "\{${pac_validLogicalKinds}\}" CACHE INTERNAL "LOGICAL KINDS FOUND for Fortran")
|
||||
message (STATUS "....LOGICAL KINDS FOUND ${PAC_FC_ALL_LOGICAL_KINDS}")
|
||||
endif ()
|
||||
else ()
|
||||
@@ -297,7 +291,7 @@ endif ()
|
||||
# **********
|
||||
# INTEGERS
|
||||
# **********
|
||||
if (NOT CMAKE_CROSSCOMPILING)
|
||||
if (NOT CMAKE_CROSSCOMPILING OR (CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR))
|
||||
string (REGEX REPLACE "," ";" VAR "${pac_validIntKinds}")
|
||||
|
||||
foreach (KIND ${VAR})
|
||||
@@ -343,7 +337,7 @@ message (VERBOSE "....FOUND SIZEOF for INTEGER KINDs ${PAC_FC_ALL_INTEGER_KINDS_
|
||||
# **********
|
||||
# REALS
|
||||
# **********
|
||||
if (NOT CMAKE_CROSSCOMPILING)
|
||||
if (NOT CMAKE_CROSSCOMPILING OR (CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR))
|
||||
string (REGEX REPLACE "," ";" VAR "${pac_validRealKinds}")
|
||||
|
||||
#find the maximum kind of the real
|
||||
@@ -402,7 +396,7 @@ list (GET VAR ${_LEN} max_real_fortran_sizeof)
|
||||
#-----------------------------------------------------------------------------
|
||||
# Find sizeof of native kinds
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT CMAKE_CROSSCOMPILING)
|
||||
if (NOT CMAKE_CROSSCOMPILING OR (CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR))
|
||||
set (PROG_SRC3
|
||||
"
|
||||
PROGRAM main
|
||||
|
||||
@@ -167,6 +167,28 @@
|
||||
"ci-MSVC"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ci-arm64-Debug-MSVC",
|
||||
"description": "MSVC for ARM64 (Debug)",
|
||||
"hidden": true,
|
||||
"inherits": [
|
||||
"ci-base",
|
||||
"ci-arm64",
|
||||
"ci-Debug",
|
||||
"ci-MSVC"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ci-arm64-Release-MSVC",
|
||||
"description": "MSVC for ARM64 (Release)",
|
||||
"hidden": true,
|
||||
"inherits": [
|
||||
"ci-base",
|
||||
"ci-arm64",
|
||||
"ci-Release",
|
||||
"ci-MSVC"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ci-x64-Debug-Clang",
|
||||
"description": "Clang/LLVM for x64 (Debug)",
|
||||
@@ -350,6 +372,24 @@
|
||||
],
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "ci-arm64-Debug-MSVC",
|
||||
"configurePreset": "ci-arm64-Debug-MSVC",
|
||||
"hidden": true,
|
||||
"inherits": [
|
||||
"ci-base"
|
||||
],
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "ci-arm64-Release-MSVC",
|
||||
"configurePreset": "ci-arm64-Release-MSVC",
|
||||
"hidden": true,
|
||||
"inherits": [
|
||||
"ci-base"
|
||||
],
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "ci-x64-Debug-Clang",
|
||||
"configurePreset": "ci-x64-Debug-Clang",
|
||||
@@ -507,6 +547,24 @@
|
||||
],
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "ci-arm64-Debug-MSVC",
|
||||
"configurePreset": "ci-arm64-Debug-MSVC",
|
||||
"hidden": true,
|
||||
"inherits": [
|
||||
"ci-base"
|
||||
],
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "ci-arm64-Release-MSVC",
|
||||
"configurePreset": "ci-arm64-Release-MSVC",
|
||||
"hidden": true,
|
||||
"inherits": [
|
||||
"ci-base"
|
||||
],
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "ci-x64-Debug-Clang",
|
||||
"configurePreset": "ci-x64-Debug-Clang",
|
||||
@@ -642,6 +700,13 @@
|
||||
"inherits": "ci-base",
|
||||
"configurations": ["RelWithDebInfo"]
|
||||
},
|
||||
{
|
||||
"name": "ci-arm64-Release-MSVC",
|
||||
"configurePreset": "ci-arm64-Release-MSVC",
|
||||
"hidden": true,
|
||||
"inherits": "ci-base",
|
||||
"configurations": ["RelWithDebInfo"]
|
||||
},
|
||||
{
|
||||
"name": "ci-x64-Release-Clang",
|
||||
"configurePreset": "ci-x64-Release-Clang",
|
||||
|
||||
@@ -12,19 +12,25 @@
|
||||
|
||||
# CMake settings for HDF5 Developer mode builds
|
||||
|
||||
# Set CMake C++ flags based off of Debug build flags
|
||||
# Set initial CMake Developer build C flags based off of Debug build flags
|
||||
set (CMAKE_C_FLAGS_DEVELOPER "${CMAKE_C_FLAGS_DEBUG}" CACHE STRING
|
||||
"Flags used by the C compiler during developer builds." FORCE
|
||||
)
|
||||
|
||||
# Set initial CMake Developer build C++ flags based off of Debug build flags
|
||||
set (CMAKE_CXX_FLAGS_DEVELOPER ${CMAKE_CXX_FLAGS_DEBUG} CACHE STRING
|
||||
"Flags used by the C++ compiler during developer builds." FORCE
|
||||
)
|
||||
|
||||
# Set CMake binary linker flags based off of Debug binary linker flags
|
||||
# Set initial CMake Developer build binary linker flags based off of Debug
|
||||
# binary linker flags
|
||||
set (CMAKE_EXE_LINKER_FLAGS_DEVELOPER ${CMAKE_EXE_LINKER_FLAGS_DEBUG}
|
||||
CACHE STRING "Flags used for linking binaries during developer builds."
|
||||
FORCE
|
||||
)
|
||||
|
||||
# Set CMake shared library linker flags based off of Debug shared library
|
||||
# linker flags
|
||||
# Set initial CMake Developer build shared library linker flags based off
|
||||
# of Debug shared library linker flags
|
||||
set (CMAKE_SHARED_LINKER_FLAGS_DEVELOPER ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}
|
||||
CACHE STRING "Flags used by the shared libraries linker during developer builds."
|
||||
FORCE
|
||||
|
||||
@@ -179,9 +179,13 @@ target_include_directories(${ZLIB_LIB_TARGET}
|
||||
PRIVATE "${CMAKE_BINARY_DIR}"
|
||||
PUBLIC "${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
)
|
||||
if (MSVC AND CMAKE_CL_64)
|
||||
set_target_properties (${ZLIB_LIB_TARGET} PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64")
|
||||
endif ()
|
||||
if (MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
if (CMAKE_C_COMPILER_ARCHITECTURE_ID MATCHES "ARM64")
|
||||
set_target_properties(${ZLIB_LIB_TARGET} PROPERTIES STATIC_LIBRARY_FLAGS "/machine:ARM64")
|
||||
else()
|
||||
set_target_properties(${ZLIB_LIB_TARGET} PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64")
|
||||
endif()
|
||||
endif()
|
||||
set_target_properties(${ZLIB_LIB_TARGET} PROPERTIES
|
||||
PUBLIC_HEADER ""
|
||||
LINKER_LANGUAGE C
|
||||
|
||||
@@ -246,9 +246,13 @@ target_include_directories(${ZLIB_LIB_TARGET}
|
||||
PRIVATE "${CMAKE_BINARY_DIR}"
|
||||
PUBLIC "${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
)
|
||||
if (MSVC AND CMAKE_CL_64)
|
||||
set_target_properties (${ZLIB_LIB_TARGET} PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64")
|
||||
endif ()
|
||||
if (MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
if (CMAKE_C_COMPILER_ARCHITECTURE_ID MATCHES "ARM64")
|
||||
set_target_properties(${ZLIB_LIB_TARGET} PROPERTIES STATIC_LIBRARY_FLAGS "/machine:ARM64")
|
||||
else()
|
||||
set_target_properties(${ZLIB_LIB_TARGET} PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64")
|
||||
endif()
|
||||
endif()
|
||||
set_target_properties(${ZLIB_LIB_TARGET} PROPERTIES
|
||||
PUBLIC_HEADER ""
|
||||
LINKER_LANGUAGE C
|
||||
|
||||
@@ -54,6 +54,9 @@ set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ)
|
||||
########################
|
||||
# compression options
|
||||
########################
|
||||
set (ZLIB_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for ZLIB" FORCE)
|
||||
set (SZIP_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for SZIP" FORCE)
|
||||
|
||||
set (HDF5_USE_ZLIB_STATIC ON CACHE BOOL "Use static zlib library" FORCE)
|
||||
set (HDF5_USE_LIBAEC_STATIC ON CACHE BOOL "Use static AEC library" FORCE)
|
||||
|
||||
|
||||
@@ -334,8 +334,6 @@ function(target_code_coverage TARGET_NAME)
|
||||
# this target serially.
|
||||
add_custom_target (
|
||||
ccov-run-${target_code_coverage_COVERAGE_TARGET_NAME}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E env ${CROSSCOMPILING_PATH}
|
||||
COMMAND
|
||||
${CMAKE_COMMAND} -E env
|
||||
${target_code_coverage_PRE_ARGS}
|
||||
@@ -417,8 +415,6 @@ function(target_code_coverage TARGET_NAME)
|
||||
# Run the executable, generating coverage information
|
||||
add_custom_target (
|
||||
ccov-run-${target_code_coverage_COVERAGE_TARGET_NAME}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E env ${CROSSCOMPILING_PATH}
|
||||
COMMAND
|
||||
${target_code_coverage_PRE_ARGS}
|
||||
$<TARGET_FILE:${TARGET_NAME}> ${target_code_coverage_ARGS}
|
||||
@@ -447,8 +443,6 @@ function(target_code_coverage TARGET_NAME)
|
||||
ccov-capture-${target_code_coverage_COVERAGE_TARGET_NAME}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove -f ${COVERAGE_INFO}
|
||||
COMMAND ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --zerocounters
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E env ${CROSSCOMPILING_PATH}
|
||||
COMMAND
|
||||
${target_code_coverage_PRE_ARGS}
|
||||
$<TARGET_FILE:${TARGET_NAME}> ${target_code_coverage_ARGS}
|
||||
@@ -463,8 +457,6 @@ function(target_code_coverage TARGET_NAME)
|
||||
ccov-capture-${target_code_coverage_COVERAGE_TARGET_NAME}
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -f ${COVERAGE_INFO}
|
||||
COMMAND ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --zerocounters
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E env ${CROSSCOMPILING_PATH}
|
||||
COMMAND
|
||||
${target_code_coverage_PRE_ARGS}
|
||||
$<TARGET_FILE:${TARGET_NAME}> ${target_code_coverage_ARGS}
|
||||
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
# assume gfortran-mingw-w64-x86-64-win32 is installed
|
||||
mingw_prefix=${TOOLCHAIN_PREFIX:-x86_64-w64-mingw32}
|
||||
libgfortran_path=`ls /usr/lib/gcc/${mingw_prefix}/*/libgfortran.dll.a 2>/dev/null | head -1`
|
||||
if test -n "${libgfortran_path}"; then
|
||||
export WINEPATH=`dirname ${libgfortran_path}`
|
||||
fi
|
||||
/usr/lib/wine/wine64 "$@"
|
||||
@@ -25,10 +25,6 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
set (CMAKE_CROSSCOMPILING_EMULATOR wine64)
|
||||
set (CROSSCOMPILING_PATH "WINEPATH=/usr/${TOOLCHAIN_PREFIX}/sys-root/mingw/bin/")
|
||||
|
||||
set (CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS On CACHE BOOL "Export windows symbols")
|
||||
|
||||
set (CMAKE_AR:FILEPATH /usr/bin/${TOOLCHAIN_PREFIX}-ar)
|
||||
set (CMAKE_RANLIB:FILEPATH /usr/bin/${TOOLCHAIN_PREFIX}-ranlib)
|
||||
|
||||
+26
-1
@@ -32,7 +32,32 @@ if (DOXYGEN_FOUND)
|
||||
set (DOXYGEN_SEARCHENGINE_URL)
|
||||
set (DOXYGEN_STRIP_FROM_PATH ${HDF5_SOURCE_DIR})
|
||||
set (DOXYGEN_STRIP_FROM_INC_PATH ${HDF5_SOURCE_DIR})
|
||||
set (DOXYGEN_PREDEFINED "H5_HAVE_DIRECT H5_HAVE_LIBHDFS H5_HAVE_MAP_API H5_HAVE_PARALLEL H5_HAVE_ROS3_VFD H5_DOXYGEN H5_HAVE_SUBFILING_VFD H5_HAVE_IOC_VFD H5_HAVE_MIRROR_VFD H5std_string=std::string H5G_link_t=H5L_type_t")
|
||||
# Versioned API macros are added to PREDEFINED to give Doxygen a fixed
|
||||
# expansion and prevent it from discovering the #defines in H5version.h,
|
||||
# which otherwise causes "multiple @param documentation sections" warnings
|
||||
# when the macro documentation (\def) and the function documentation both
|
||||
# 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.
|
||||
# This ensures the Doxygen configuration stays synchronized with the
|
||||
# actual default versions defined in src/H5version.h.
|
||||
set (_doxygen_predefined_entries
|
||||
H5_HAVE_DIRECT
|
||||
H5_HAVE_LIBHDFS
|
||||
H5_HAVE_MAP_API
|
||||
H5_HAVE_PARALLEL
|
||||
H5_HAVE_ROS3_VFD
|
||||
H5_DOXYGEN
|
||||
H5_HAVE_SUBFILING_VFD
|
||||
H5_HAVE_IOC_VFD
|
||||
H5_HAVE_MIRROR_VFD
|
||||
"H5std_string=std::string"
|
||||
"H5G_link_t=H5L_type_t"
|
||||
)
|
||||
# Load auto-generated versioned API macros from 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})
|
||||
|
||||
# This configure and individual custom targets work together
|
||||
|
||||
+8
-7
@@ -719,7 +719,11 @@ WARN_LOGFILE =
|
||||
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = @DOXYGEN_INPUT_DIRECTORY@
|
||||
INPUT = @DOXYGEN_INPUT_DIRECTORY@ \
|
||||
@DOXYGEN_DIR@/examples/menus/core_menu.md \
|
||||
@DOXYGEN_DIR@/examples/menus/fortran_menu.md \
|
||||
@DOXYGEN_DIR@/examples/menus/high_level_menu.md \
|
||||
@DOXYGEN_DIR@/examples/menus/java_menu.md
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that Doxygen parses. Internally Doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
@@ -758,7 +762,6 @@ FILE_PATTERNS = H5*public.h H5*module.h H5*develop.h H5FD*.h \
|
||||
@DOXYGEN_JAVA_DIR@/hdf/hdf5lib/exceptions/HDF*.java \
|
||||
*.F90 \
|
||||
*.dox \
|
||||
*.md \
|
||||
h5copy.h h5diff_main.h h5dump.h h5format_convert.h h5import.h h5jam.h h5ls.h h5repack.h h5stat.h \
|
||||
h5watch.h h5clear.h h5debug.h h5delete.h h5mkgrp.h h5repart.h \
|
||||
@HDF5_CPP_SRC_DIR@/*.h \
|
||||
@@ -777,7 +780,8 @@ RECURSIVE = YES
|
||||
# Note that relative paths are relative to the directory from which Doxygen is
|
||||
# run.
|
||||
|
||||
EXCLUDE = jsrc
|
||||
EXCLUDE = jsrc \
|
||||
@DOXYGEN_DIR@/../config/toolchain
|
||||
|
||||
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
|
||||
# directories that are symbolic links (a Unix file system feature) are excluded
|
||||
@@ -804,10 +808,7 @@ EXCLUDE_PATTERNS = */fortran/test/* \
|
||||
*/hl/fortran/src/*.h \
|
||||
*/HDF5Examples/FORTRAN/* \
|
||||
*/sanitizer/* \
|
||||
*/README.md \
|
||||
*/CONTRIBUTING.md \
|
||||
*/CHANGELOG.md \
|
||||
*/HISTORY-*.md
|
||||
*/H5fortran_types.F90
|
||||
|
||||
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
|
||||
# (namespaces, classes, functions, etc.) that should be excluded from the
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
# Generated automatically by bin/make_vers -- do not edit
|
||||
# Add new versioned symbols to H5vers.txt file
|
||||
#
|
||||
# Doxygen PREDEFINED entries for versioned APIs
|
||||
# These macros tell Doxygen which version each API name maps to,
|
||||
# preventing "multiple @param documentation sections" warnings
|
||||
|
||||
list (APPEND _doxygen_predefined_entries
|
||||
"H5Acreate=H5Acreate2"
|
||||
"H5Aiterate=H5Aiterate2"
|
||||
"H5Dcreate=H5Dcreate2"
|
||||
"H5Dopen=H5Dopen2"
|
||||
"H5Dread_chunk=H5Dread_chunk2"
|
||||
"H5Eclear=H5Eclear2"
|
||||
"H5Eget_auto=H5Eget_auto2"
|
||||
"H5Eprint=H5Eprint2"
|
||||
"H5Epush=H5Epush2"
|
||||
"H5Eset_auto=H5Eset_auto2"
|
||||
"H5Ewalk=H5Ewalk2"
|
||||
"H5Fget_info=H5Fget_info2"
|
||||
"H5Gcreate=H5Gcreate2"
|
||||
"H5Gopen=H5Gopen2"
|
||||
"H5Iregister_type=H5Iregister_type2"
|
||||
"H5Lget_info=H5Lget_info2"
|
||||
"H5Lget_info_by_idx=H5Lget_info_by_idx2"
|
||||
"H5Literate=H5Literate2"
|
||||
"H5Literate_by_name=H5Literate_by_name2"
|
||||
"H5Lvisit=H5Lvisit2"
|
||||
"H5Lvisit_by_name=H5Lvisit_by_name2"
|
||||
"H5Oget_info=H5Oget_info3"
|
||||
"H5Oget_info_by_idx=H5Oget_info_by_idx3"
|
||||
"H5Oget_info_by_name=H5Oget_info_by_name3"
|
||||
"H5Ovisit=H5Ovisit3"
|
||||
"H5Ovisit_by_name=H5Ovisit_by_name3"
|
||||
"H5Pencode=H5Pencode2"
|
||||
"H5Pget_filter=H5Pget_filter2"
|
||||
"H5Pget_filter_by_id=H5Pget_filter_by_id2"
|
||||
"H5Pinsert=H5Pinsert2"
|
||||
"H5Pregister=H5Pregister2"
|
||||
"H5Rdereference=H5Rdereference2"
|
||||
"H5Rget_obj_type=H5Rget_obj_type2"
|
||||
"H5Sencode=H5Sencode2"
|
||||
"H5Tarray_create=H5Tarray_create2"
|
||||
"H5Tcommit=H5Tcommit2"
|
||||
"H5Tdecode=H5Tdecode2"
|
||||
"H5Tget_array_dims=H5Tget_array_dims2"
|
||||
"H5Topen=H5Topen2"
|
||||
)
|
||||
@@ -16,6 +16,7 @@ ALIASES += DWNURL="\RELURL/downloads/latest"
|
||||
# URL for RFCs
|
||||
ALIASES += RFCURL="\DOCURL/rfc"
|
||||
ALIASES += AEXURL="\HDFURL/archive/support/ftp/HDF5/examples"
|
||||
ALIASES += RFCWIP="github.com/HDFGroup/hdf5doc/tree/master/RFCs"
|
||||
#branch name (develop, hdf5_2_0_0)
|
||||
ALIASES += SRCURL="github.com/HDFGroup/hdf5/blob/develop"
|
||||
ALIASES += SRCURL114="github.com/HDFGroup/hdf5/blob/hdf5_1.14.6"
|
||||
@@ -278,6 +279,7 @@ ALIASES += ref_vol_doc="VOL documentation"
|
||||
# RFCs
|
||||
################################################################################
|
||||
|
||||
ALIASES += ref_rfc20240422="<a href=\"https://\RFCWIP/HDF5_Library/WriteAheadLog/RFC_WriteAheadLog.pdf\">Write-Ahead Log</a>"
|
||||
ALIASES += ref_rfc20240129="<a href=\"https://\RFCURL/RFC__Adding_support_for_16_bit_floating_point_and_Complex_number_datatypes_to_HDF5.pdf\">Adding support for 16-bit floating point and Complex number datatypes to HDF</a>"
|
||||
# Same RFC, but complex number datatypes was delayed to 2.0
|
||||
ALIASES += ref_rfc20240129complex="<a href=\"https://\RFCURL/RFC__Adding_support_for_16_bit_floating_point_and_Complex_number_datatypes_to_HDF5.pdf\">Support for Complex number datatypes</a>"
|
||||
|
||||
@@ -268,13 +268,13 @@ are usually similar, see @ref HDF5LIB
|
||||
For example:
|
||||
<ul>
|
||||
<li>
|
||||
File Interface:<ul><li>#H5Fopen (C)</li><li>#h5f.h5fopen_f (FORTRAN)</li><li>H5.H5Fopen (Java)</li></ul>
|
||||
File Interface:<ul><li>#H5Fopen (C)</li><li>\ref h5f::h5fopen_f (FORTRAN)</li><li>H5.H5Fopen (Java)</li></ul>
|
||||
</li>
|
||||
<li>
|
||||
Dataset Interface:<ul><li>#H5Dopen (C)</li><li>#h5d.h5dopen_f (FORTRAN)</li><li>H5.H5Dopen (Java)</li></ul>
|
||||
Dataset Interface:<ul><li>#H5Dopen (C)</li><li>\ref h5d::h5dopen_f (FORTRAN)</li><li>H5.H5Dopen (Java)</li></ul>
|
||||
</li>
|
||||
<li>
|
||||
Dataspace interface:<ul><li>#H5Sclose (C)</li><li>#h5s.h5sclose_f (FORTRAN)</li><li>H5.H5Sclose (Java)</li></ul>
|
||||
Dataspace interface:<ul><li>#H5Sclose (C)</li><li>\ref h5s::h5sclose_f (FORTRAN)</li><li>H5.H5Sclose (Java)</li></ul>
|
||||
</li>
|
||||
</ul>
|
||||
The HDF5 Python APIs use methods associated with specific objects.
|
||||
@@ -311,7 +311,7 @@ import numpy
|
||||
<li>
|
||||
<strong>FORTRAN</strong>:<br />
|
||||
<code>USE HDF5</code><br />
|
||||
and call #h5lib.h5open_f and #h5lib.h5close_f to initialize and close the HDF5 FORTRAN interface
|
||||
and call \ref h5lib::h5open_f and `h5close_f` to initialize and close the HDF5 FORTRAN interface
|
||||
</li>
|
||||
<li>
|
||||
<strong>Java</strong>:<br />
|
||||
|
||||
@@ -166,10 +166,10 @@ Keep the following in mind when looking at the example programs included in this
|
||||
<table>
|
||||
<tr>
|
||||
<td>File Interface: </td>
|
||||
<td>#h5f.h5fopen_f</td>
|
||||
<td>\ref h5f::h5fopen_f</td>
|
||||
</tr><tr>
|
||||
<td>Dataset Interface:</td>
|
||||
<td>#h5d.h5dopen_f</td>
|
||||
<td>\ref h5d::h5dopen_f</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -208,7 +208,7 @@ import numpy
|
||||
<li>
|
||||
<strong>FORTRAN</strong>:<br />
|
||||
<code>USE HDF5</code><br />
|
||||
and call #h5lib.h5open_f and #h5lib.h5close_f to initialize and close the HDF5 FORTRAN interface
|
||||
and call \ref h5lib::h5open_f and `h5close_f` to initialize and close the HDF5 FORTRAN interface
|
||||
</li>
|
||||
<li>
|
||||
<strong>Java</strong>:<br />
|
||||
|
||||
@@ -155,14 +155,14 @@ For details on compiling an HDF5 application:
|
||||
#H5Gcreate creates a group at the location specified by a location identifier and a name. The location identifier
|
||||
can be a file identifier or a group identifier and the name can be relative or absolute.
|
||||
|
||||
The first #H5Gcreate/#h5g.h5gcreate_f creates the group <code style="background-color:whitesmoke;">MyGroup</code>
|
||||
The first #H5Gcreate/\ref h5g::h5gcreate_f creates the group <code style="background-color:whitesmoke;">MyGroup</code>
|
||||
in the root group of the specified file.
|
||||
|
||||
The second #H5Gcreate/#h5g.h5gcreate_f creates the group <code style="background-color:whitesmoke;">Group_A</code>
|
||||
The second #H5Gcreate/\ref h5g::h5gcreate_f creates the group <code style="background-color:whitesmoke;">Group_A</code>
|
||||
in the group <code style="background-color:whitesmoke;">MyGroup</code> in the root group of the specified
|
||||
file. Note that the parent group (<code style="background-color:whitesmoke;">MyGroup</code>) already exists.
|
||||
|
||||
The third #H5Gcreate/#h5g.h5gcreate_f creates the group <code style="background-color:whitesmoke;">Group_B</code> in the specified group.
|
||||
The third #H5Gcreate/\ref h5g::h5gcreate_f creates the group <code style="background-color:whitesmoke;">Group_B</code> in the specified group.
|
||||
|
||||
\subsection secLBGrpCreateNamesExCont File Contents
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@ Navigate back: \ref index "Main"
|
||||
|
||||
<table>
|
||||
<tr><th>RFC ID</th><th>Title</th></tr>
|
||||
<tr> <td>2025-11-15</td> <td>Open access at dl.acm.org/doi/full/10.1145/3731599.3767557</td></tr>
|
||||
<tr> <td>2024-04-22</td> <td>\ref_rfc20240422</td></tr>
|
||||
<tr> <td>2022-08-19</td> <td>\ref_rfc20220819</td></tr>
|
||||
<tr> <td>2021-05-28</td> <td>\ref_rfc20210528</td></tr>
|
||||
<tr> <td>2021-02-19</td> <td>\ref_rfc20210219</td></tr>
|
||||
|
||||
+166
-166
@@ -390,7 +390,7 @@ Release 1.8.17 if their removal causes no problems.
|
||||
|
||||
<h4>In the Fortran Interface</h4>
|
||||
The following Fortran 2003 API has been added:
|
||||
\li #h5t.h5tenum_insert_f
|
||||
\li \ref h5t::h5tenum_insert_f
|
||||
|
||||
Operation of the new Fortran 2003 version of this API is more consistent with the operation of
|
||||
the C API than was the Fortran 90 version.
|
||||
@@ -566,12 +566,12 @@ Additional overloads to the class Attribute to get an attribute's name for conve
|
||||
The following new Fortran subroutines have been added:
|
||||
|
||||
Fortran2003 subroutines:
|
||||
\li #h5p.h5pset_file_image_f
|
||||
\li #h5p.h5pget_file_image_f
|
||||
\li #h5f.h5fget_file_image_f (Added in Release 1.8.11, but not documented at that time.)
|
||||
\li \ref h5p::h5pset_file_image_f
|
||||
\li \ref h5p::h5pget_file_image_f
|
||||
\li \ref h5f::h5fget_file_image_f (Added in Release 1.8.11, but not documented at that time.)
|
||||
|
||||
The following Fortran subroutine has been changed:
|
||||
\li #h5p.h5pset_chunk_cache_f - The values of the constants H5D_CHUNK_CACHE_NSLOTS_DFLT_F
|
||||
\li \ref h5p::h5pset_chunk_cache_f - The values of the constants H5D_CHUNK_CACHE_NSLOTS_DFLT_F
|
||||
and H5D_CHUNK_CACHE_NBYTES_DFLT_F have been changed to INTEGER(KIND=size_t).
|
||||
|
||||
<h4>Other New Features</h4>
|
||||
@@ -752,21 +752,21 @@ transition from HDF5 Release 1.8.10 to Release 1.8.11.
|
||||
<h4>The following new Fortran subroutines have been added</h4>
|
||||
|
||||
<strong>Fortran90 subroutines</strong>:
|
||||
\li #h5o.h5odecr_refcount_f
|
||||
\li #h5o.h5oexists_by_name_f
|
||||
\li #h5o.h5oget_comment_f
|
||||
\li #h5o.h5oget_comment_by_name_f
|
||||
\li #h5o.h5oincr_refcount_f
|
||||
\li #h5o.h5oopen_by_idx_f
|
||||
\li #h5o.h5oset_comment_f
|
||||
\li #h5o.h5oset_comment_by_name_f
|
||||
\li \ref h5o::h5odecr_refcount_f
|
||||
\li \ref h5o::h5oexists_by_name_f
|
||||
\li \ref h5o::h5oget_comment_f
|
||||
\li \ref h5o::h5oget_comment_by_name_f
|
||||
\li \ref h5o::h5oincr_refcount_f
|
||||
\li \ref h5o::h5oopen_by_idx_f
|
||||
\li \ref h5o::h5oset_comment_f
|
||||
\li \ref h5o::h5oset_comment_by_name_f
|
||||
|
||||
h5oclose_f was introduced in HDF5 Release 1.8.8 but remained undocumented until this release.
|
||||
|
||||
Fortran2003 subroutines:
|
||||
\li #h5o.h5oget_info_f
|
||||
\li #h5o.h5oget_info_by_idx_f
|
||||
\li #h5o.h5ovisit_by_name_f
|
||||
\li \ref h5o::h5oget_info_f
|
||||
\li \ref h5o::h5oget_info_by_idx_f
|
||||
\li \ref h5o::h5ovisit_by_name_f
|
||||
|
||||
<h4>New Feature: Dynamically Loaded Filters</h4>
|
||||
HDF5 now detects and dynamically loads external filters, reducing the need for an application to
|
||||
@@ -797,7 +797,7 @@ The return value of the following high-level C function has changed:
|
||||
returned size of of the dimension scale name (bug fix).
|
||||
|
||||
<h4>In the Fortran subroutines</h4>
|
||||
\li #h5p.h5pset_external_f and #h5p.h5pget_external_f - the type of the offset parameter has changed to
|
||||
\li \ref h5p::h5pset_external_f and \ref h5p::h5pget_external_f - the type of the offset parameter has changed to
|
||||
INTEGER(KIND=OFF_T) to support 8-byte integers, matching the C type definition of off_t.
|
||||
\li The HDF5 Library now supports data conversion from enumeration to integer and floating-point
|
||||
numeric datatypes.
|
||||
@@ -828,7 +828,7 @@ transition from HDF5 Release 1.8.9 to Release 1.8.10.
|
||||
\li H5Pget_mpio_no_collective_cause
|
||||
|
||||
<strong>The following new Fortran subroutine has been added</strong>:
|
||||
\li #h5p.h5pget_mpio_actual_io_mode_f
|
||||
\li \ref h5p::h5pget_mpio_actual_io_mode_f
|
||||
|
||||
The syntax of the following high-level C function has changed:
|
||||
\li H5TBAget_fill - This function's return type has been changed to h5tri_t. A return value of 1
|
||||
@@ -848,7 +848,7 @@ the transition from HDF5 Release 1.8.8 to Release 1.8.9.
|
||||
A new high level C function and Fortran subroutine were added to HDF5 Lite (H5LT) to determine
|
||||
whether an HDF5 path is correct and resolves to a valid HDF5 object:
|
||||
\li h5LTpath_valid
|
||||
\li #h5lt.h5ltpath_valid_f
|
||||
\li `h5ltpath_valid_f`
|
||||
|
||||
The new file image operations feature consists of the following functions and their associated
|
||||
callbacks, struct, and ENUM. This feature enables an application to load a file into memory
|
||||
@@ -896,8 +896,8 @@ for those who may have missed its introduction:
|
||||
|
||||
<h4>New Fortran Subroutines</h4>
|
||||
The following Fortran subroutines have been added in this release:
|
||||
\li #h5lt.h5ltpath_valid_f
|
||||
\li #h5o.h5ocopy_f
|
||||
\li `h5ltpath_valid_f`
|
||||
\li \ref h5o::h5ocopy_f
|
||||
\li h5fset_mpi_atomicity_f
|
||||
\li h5fget_mpi_atomicity_f
|
||||
|
||||
@@ -905,7 +905,7 @@ Where a subroutine is part of a new HDF5 feature, that feature is described abov
|
||||
|
||||
<h4>Fortran Subroutine with Changed Behavior</h4>
|
||||
The content of the buffer returned by the following Fortran subroutine has changed as noted:
|
||||
\li #h5lt.h5ltget_attribute_string_f - If the returned buffer requires padding, #h5lt.h5ltget_attribute_string_f
|
||||
\li `h5ltget_attribute_string_f` - If the returned buffer requires padding, `h5ltget_attribute_string_f`
|
||||
now employs space padding; this buffer was previously returned with a C NULL terminator.
|
||||
|
||||
<h4>Command-line Utilities with New Options and/or Changed Behavior</h4>
|
||||
@@ -957,13 +957,13 @@ Terminology:
|
||||
|
||||
<h4>New Fortran 2003-only subroutines</h4>
|
||||
New subroutines available only in Fortran 2003 environments:
|
||||
\li #h5d.h5dvlen_reclaim_f
|
||||
\li #h5e.h5eset_auto_f
|
||||
\li #h5l.h5literate_by_name_f
|
||||
\li #h5l.h5literate_f
|
||||
\li #h5o.h5ovisit_f
|
||||
\li #h5o.h5oget_info_by_name_f
|
||||
\li #h5t.h5tconvert_f
|
||||
\li \ref h5d::h5dvlen_reclaim_f
|
||||
\li \ref h5e::h5eset_auto_f
|
||||
\li \ref h5l::h5literate_by_name_f
|
||||
\li \ref h5l::h5literate_f
|
||||
\li \ref h5o::h5ovisit_f
|
||||
\li \ref h5o::h5oget_info_by_name_f
|
||||
\li \ref h5t::h5tconvert_f
|
||||
|
||||
<h4>Subroutines with Fortran 90 versions and extended features in Fortran 2003 environments</h4>
|
||||
Subroutines in this section have extended support in Fortran 2003 environments, but are new or unchanged in Fortran 90 environments.
|
||||
@@ -971,44 +971,44 @@ Subroutines in this section have extended support in Fortran 2003 environments,
|
||||
All existing Fortran 90 subroutines, including those not mentioned below, are available in both Fortran 90 and Fortran 2003 environments.
|
||||
|
||||
Subroutines with support for the derived type C_PTR in Fortran 2003 environments:
|
||||
\li #h5p.h5pget_f
|
||||
\li #h5p.h5pget_fill_value_f
|
||||
\li #h5p.h5pinsert_f
|
||||
\li #h5p.h5pregister_f
|
||||
\li #h5p.h5pset_f
|
||||
\li #h5p.h5pset_fill_value_f
|
||||
\li #h5r.h5rcreate_f
|
||||
\li \ref h5p::h5pget_f
|
||||
\li \ref h5p::h5pget_fill_value_f
|
||||
\li \ref h5p::h5pinsert_f
|
||||
\li \ref h5p::h5pregister_f
|
||||
\li \ref h5p::h5pset_f
|
||||
\li \ref h5p::h5pset_fill_value_f
|
||||
\li \ref h5r::h5rcreate_f
|
||||
\li h5rdereference_f
|
||||
\li #h5r.h5rget_name_f
|
||||
\li #h5r.h5rget_object_type_f
|
||||
\li \ref h5r::h5rget_name_f
|
||||
\li \ref h5r::h5rget_object_type_f
|
||||
|
||||
Subroutines with support for the derived type C_PTR and a changed signature in Fortran 2003 environments:
|
||||
\li #h5a.h5aread_f
|
||||
\li #h5a.h5awrite_f
|
||||
\li #h5d.h5dread_f
|
||||
\li #h5d.h5dwrite_f
|
||||
\li \ref h5a::h5aread_f
|
||||
\li \ref h5a::h5awrite_f
|
||||
\li \ref h5d::h5dread_f
|
||||
\li \ref h5d::h5dwrite_f
|
||||
|
||||
Subroutine with additional optional parameters in Fortran 2003 environments:
|
||||
\li #h5p.h5pcreate_class_f
|
||||
\li \ref h5p::h5pcreate_class_f
|
||||
|
||||
<h4>New and updated Fortran 90 subroutines</h4>
|
||||
New Fortran 90 subroutines:
|
||||
\li #h5p.h5pset_nbit_f
|
||||
\li #h5p.h5pset_scaleoffset_f
|
||||
\li \ref h5p::h5pset_nbit_f
|
||||
\li \ref h5p::h5pset_scaleoffset_f
|
||||
|
||||
Updated Fortran 90 subroutines:
|
||||
\li #h5lib.h5open_f
|
||||
\li #h5lib.h5close_f - has been modified in this release to close only the HDF5 Fortran
|
||||
\li \ref h5lib::h5open_f
|
||||
\li `h5close_f` - has been modified in this release to close only the HDF5 Fortran
|
||||
Library interface; it no longer closes the underlying HDF5 Library.
|
||||
\li #h5lib.h5check_version_f
|
||||
\li #h5lib.h5get_libversion_f
|
||||
\li #h5lib.h5garbage_collect_f
|
||||
\li #h5lib.h5dont_atexit_f
|
||||
\li `h5check_version_f`
|
||||
\li \ref h5lib::h5get_libversion_f
|
||||
\li \ref h5lib::h5garbage_collect_f
|
||||
\li \ref h5lib::h5dont_atexit_f
|
||||
|
||||
<h4>New Fortran utility functions and derived types</h4>
|
||||
New Fortran utility functions:
|
||||
\li #h5lib.h5offsetof Available only in Fortran 2003 environments.
|
||||
\li #h5lib.h5kind_to_type Available in either Fortran environment.
|
||||
\li <code>h5offsetof</code> Available only in Fortran 2003 environments.
|
||||
\li `h5kind_to_type` Available in either Fortran environment.
|
||||
|
||||
New Fortran derived types in Fortran 2003 environments:
|
||||
\li hvl_t Described in New Features.
|
||||
@@ -1016,15 +1016,15 @@ New Fortran derived types in Fortran 2003 environments:
|
||||
|
||||
<h4>New high level Fortran interface</h4>
|
||||
New Fortran subroutines in the HDF5 Dimension Scale high-level interface, H5DS:
|
||||
\li #h5ds.h5dsset_scale_f
|
||||
\li #h5ds.h5dsattach_scale_f
|
||||
\li #h5ds.h5dsdetach_scale_f
|
||||
\li #h5ds.h5dsis_attached_f
|
||||
\li #h5ds.h5dsis_scale_f
|
||||
\li #h5ds.h5dsset_label_f
|
||||
\li #h5ds.h5dsget_label_f
|
||||
\li #h5ds.h5dsget_scale_name_f
|
||||
\li #h5ds.h5dsget_num_scales_f
|
||||
\li `h5dsset_scale_f`
|
||||
\li `h5dsattach_scale_f`
|
||||
\li `h5dsdetach_scale_f`
|
||||
\li `h5dsis_attached_f`
|
||||
\li `h5dsis_scale_f`
|
||||
\li `h5dsset_label_f`
|
||||
\li `h5dsget_label_f`
|
||||
\li `h5dsget_scale_name_f`
|
||||
\li `h5dsget_num_scales_f`
|
||||
|
||||
These subtroutines are available in both Fortran 90 and Fortran 2003 environments.
|
||||
|
||||
@@ -1123,15 +1123,15 @@ Two new flags have been added:
|
||||
Several <code>h5ltmake_dataset\*\_f</code> and <code>h5ltread_dataset\*\_f</code> subroutines have
|
||||
been modified to allow them to create or read arrays of up to seven dimensions. They had previously
|
||||
been limited to three dimensions.
|
||||
\li #h5lt.h5ltmake_dataset_f
|
||||
\li `h5ltmake_dataset_f`
|
||||
\li .h5ltmake_dataset_int_f
|
||||
\li .h5ltmake_dataset_float_f
|
||||
\li h5ltmake_dataset_double_f
|
||||
\li #h5lt.h5ltread_dataset_f
|
||||
\li `h5ltread_dataset_f`
|
||||
\li h5ltread_dataset_int_f
|
||||
\li h5ltread_dataset_float_f
|
||||
\li h5ltread_dataset_double_f
|
||||
\li #h5tb.h5tbget_field_info_f has a new maxlen_out parameter. This parameter is optional.
|
||||
\li `h5tbget_field_info_f` has a new maxlen_out parameter. This parameter is optional.
|
||||
|
||||
<h4>Command-line Utilities with New Options</h4>
|
||||
\ref sec_cltools_h5diff has a new verbose with levels option to display additional attribute information:
|
||||
@@ -1281,8 +1281,8 @@ The overloaded forms of the following C++ member functions are new in this relea
|
||||
|
||||
<h4>Fortran Subroutines with Changed Interface</h4>
|
||||
The link type parameter values associated with the following Fortran subroutines have changed in this release:
|
||||
\li #h5l.h5lget_info_f
|
||||
\li #h5l.h5lget_info_by_idx_f
|
||||
\li \ref h5l::h5lget_info_f
|
||||
\li \ref h5l::h5lget_info_by_idx_f
|
||||
|
||||
Valid values for the parameter link_type have changed to the following:
|
||||
\li H5L_TYPE_HARD_F
|
||||
@@ -1334,9 +1334,9 @@ The function has also been changed to suppress the warning message entirely if
|
||||
|
||||
<h4>Fortran Subroutines with Changed Syntax</h4>
|
||||
The following Fortran subroutines have changed syntax in this release:
|
||||
\li #h5l.h5lget_info_f - The type of the parameter address has changed from INTEGER to INTEGER(HADDR_T).
|
||||
\li \ref h5l::h5lget_info_f - The type of the parameter address has changed from INTEGER to INTEGER(HADDR_T).
|
||||
(This note added on 13 January 2010.)
|
||||
\li #h5l.h5lget_info_by_idx_f - <code>h5lget_info_by_idx_f (loc_id, group_name, index_field, order, n,
|
||||
\li \ref h5l::h5lget_info_by_idx_f - <code>h5lget_info_by_idx_f (loc_id, group_name, index_field, order, n,
|
||||
&link_type, f_corder_valid, corder, cset, address, val_size, &hdferr, lapl_id)</code> - The
|
||||
parameters link_type, address, and val_size have been added; the parameter data_size has been removed.
|
||||
|
||||
@@ -1378,10 +1378,10 @@ The following C functions are new for this release and are documented in the HDF
|
||||
|
||||
<h4>Fortran Subroutines</h4>
|
||||
The following subroutines are new in this release:
|
||||
\li #h5d.h5dget_access_plist_f
|
||||
\li #h5i.h5iis_valid_f
|
||||
\li #h5p.h5pset_chunk_cache_f
|
||||
\li #h5p.h5pget_chunk_cache_f
|
||||
\li \ref h5d::h5dget_access_plist_f
|
||||
\li \ref h5i::h5iis_valid_f
|
||||
\li \ref h5p::h5pset_chunk_cache_f
|
||||
\li \ref h5p::h5pget_chunk_cache_f
|
||||
|
||||
<h4>Function with Changed Behavior</h4>
|
||||
\li H5set_free_list_limits
|
||||
@@ -1422,7 +1422,7 @@ The following C functions are new for this release and are documented in the \re
|
||||
<h4>Fortran Subroutine</h4>
|
||||
|
||||
The following subroutine is new in this release:
|
||||
\li #h5t.h5tget_native_type_f
|
||||
\li \ref h5t::h5tget_native_type_f
|
||||
|
||||
<h4>New C++ Wrappers</h4>
|
||||
A number of C++ wrappers were added/removed. See RELEASE.txt for details.
|
||||
@@ -1436,9 +1436,9 @@ The following function syntaxes have changed; the affected return values and par
|
||||
|
||||
<h4>Changed Fortran Subroutines</h4>
|
||||
The optional parameter mounted has been added to the following subroutines:
|
||||
\li #h5g.h5gget_info_f
|
||||
\li #h5g.h5gget_info_by_idx_f
|
||||
\li #h5g.h5gget_info_by_name_f
|
||||
\li \ref h5g::h5gget_info_f
|
||||
\li \ref h5g::h5gget_info_by_idx_f
|
||||
\li \ref h5g::h5gget_info_by_name_f
|
||||
|
||||
<strong>Changed Data Structure</strong>
|
||||
\li H5G_info_t - A mounted filed has been added to the H5G_info_t struct.
|
||||
@@ -1519,108 +1519,108 @@ There are no new C functions for Release 1.8.1.
|
||||
<h4>Fortran subroutines</h4>
|
||||
The following Fortran subroutines are new for Release 1.8.1 and are documented in the HDF5 Reference Manual.
|
||||
\b H5A
|
||||
\li #h5a.h5acreate_f
|
||||
\li #h5a.h5acreate_by_name_f
|
||||
\li #h5a.h5adelete_by_idx_f
|
||||
\li #h5a.h5adelete_by_name_f
|
||||
\li #h5a.h5aexists_f
|
||||
\li #h5a.h5aexists_by_name_f
|
||||
\li #h5a.h5aget_create_plist_f
|
||||
\li #h5a.h5aget_info_f
|
||||
\li #h5a.h5aget_info_by_idx_f
|
||||
\li #h5a.h5aget_info_by_name_f
|
||||
\li #h5a.h5aget_name_by_idx_f
|
||||
\li #h5a.h5aget_storage_size_f
|
||||
\li #h5a.h5aopen_f
|
||||
\li #h5a.h5aopen_by_idx_f
|
||||
\li #h5a.h5aopen_by_name_f
|
||||
\li #h5a.h5arename_f
|
||||
\li #h5a.h5arename_by_name_f
|
||||
\li \ref h5a::h5acreate_f
|
||||
\li \ref h5a::h5acreate_by_name_f
|
||||
\li \ref h5a::h5adelete_by_idx_f
|
||||
\li \ref h5a::h5adelete_by_name_f
|
||||
\li \ref h5a::h5aexists_f
|
||||
\li \ref h5a::h5aexists_by_name_f
|
||||
\li \ref h5a::h5aget_create_plist_f
|
||||
\li \ref h5a::h5aget_info_f
|
||||
\li \ref h5a::h5aget_info_by_idx_f
|
||||
\li \ref h5a::h5aget_info_by_name_f
|
||||
\li \ref h5a::h5aget_name_by_idx_f
|
||||
\li \ref h5a::h5aget_storage_size_f
|
||||
\li \ref h5a::h5aopen_f
|
||||
\li \ref h5a::h5aopen_by_idx_f
|
||||
\li \ref h5a::h5aopen_by_name_f
|
||||
\li \ref h5a::h5arename_f
|
||||
\li \ref h5a::h5arename_by_name_f
|
||||
|
||||
\b H5D
|
||||
\li #h5d.h5dcreate_anon_f
|
||||
\li #h5d.h5dcreate_f
|
||||
\li #h5d.h5dopen_f
|
||||
\li #h5d.h5dset_extent_f
|
||||
\li \ref h5d::h5dcreate_anon_f
|
||||
\li \ref h5d::h5dcreate_f
|
||||
\li \ref h5d::h5dopen_f
|
||||
\li `h5dset_extent_f`
|
||||
|
||||
\b H5G
|
||||
\li #h5g.h5gcreate_anon_f
|
||||
\li #h5g.h5gcreate_f
|
||||
\li #h5g.h5gget_create_plist_f
|
||||
\li #h5g.h5gget_info_f
|
||||
\li #h5g.h5gget_info_by_idx_f
|
||||
\li #h5g.h5gget_info_by_name_f
|
||||
\li #h5g.h5gopen_f
|
||||
\li \ref h5g::h5gcreate_anon_f
|
||||
\li \ref h5g::h5gcreate_f
|
||||
\li \ref h5g::h5gget_create_plist_f
|
||||
\li \ref h5g::h5gget_info_f
|
||||
\li \ref h5g::h5gget_info_by_idx_f
|
||||
\li \ref h5g::h5gget_info_by_name_f
|
||||
\li \ref h5g::h5gopen_f
|
||||
|
||||
\b H5L
|
||||
\li #h5l.h5lcopy_f
|
||||
\li #h5l.h5lcreate_external_f
|
||||
\li #h5l.h5lcreate_hard_f
|
||||
\li #h5l.h5lcreate_soft_f
|
||||
\li #h5l.h5ldelete_f
|
||||
\li #h5l.h5ldelete_by_idx_f
|
||||
\li #h5l.h5lexists_f
|
||||
\li #h5l.h5lget_info_f
|
||||
\li #h5l.h5lget_info_by_idx_f
|
||||
\li #h5l.h5lget_name_by_idx_f
|
||||
\li #h5l.h5lmove_f
|
||||
\li \ref h5l::h5lcopy_f
|
||||
\li \ref h5l::h5lcreate_external_f
|
||||
\li \ref h5l::h5lcreate_hard_f
|
||||
\li \ref h5l::h5lcreate_soft_f
|
||||
\li \ref h5l::h5ldelete_f
|
||||
\li \ref h5l::h5ldelete_by_idx_f
|
||||
\li \ref h5l::h5lexists_f
|
||||
\li \ref h5l::h5lget_info_f
|
||||
\li \ref h5l::h5lget_info_by_idx_f
|
||||
\li \ref h5l::h5lget_name_by_idx_f
|
||||
\li \ref h5l::h5lmove_f
|
||||
|
||||
\b H5O
|
||||
\li #h5o.h5olink_f
|
||||
\li #h5o.h5oopen_f
|
||||
\li \ref h5o::h5olink_f
|
||||
\li \ref h5o::h5oopen_f
|
||||
|
||||
\b H5P
|
||||
\li #h5p.h5pget_attr_creation_order_f
|
||||
\li #h5p.h5pget_attr_phase_change_f
|
||||
\li #h5p.h5pget_char_encoding_f
|
||||
\li #h5p.h5pget_copy_object_f
|
||||
\li #h5p.h5pget_create_inter_group_f
|
||||
\li #h5p.h5pget_data_transform_f
|
||||
\li \ref h5p::h5pget_attr_creation_order_f
|
||||
\li \ref h5p::h5pget_attr_phase_change_f
|
||||
\li \ref h5p::h5pget_char_encoding_f
|
||||
\li \ref h5p::h5pget_copy_object_f
|
||||
\li \ref h5p::h5pget_create_inter_group_f
|
||||
\li \ref h5p::h5pget_data_transform_f
|
||||
\li h5pget_elink_prefix_f
|
||||
\li #h5p.h5pget_est_link_info_f
|
||||
\li #h5p.h5pget_fapl_direct_f
|
||||
\li #h5p.h5pget_link_creation_order_f
|
||||
\li #h5p.h5pget_link_phase_change_f
|
||||
\li #h5p.h5pget_local_heap_size_hint_f
|
||||
\li #h5p.h5pget_nlinks_f
|
||||
\li #h5p.h5pget_obj_track_times_f
|
||||
\li \ref h5p::h5pget_est_link_info_f
|
||||
\li \ref h5p::h5pget_fapl_direct_f
|
||||
\li \ref h5p::h5pget_link_creation_order_f
|
||||
\li \ref h5p::h5pget_link_phase_change_f
|
||||
\li \ref h5p::h5pget_local_heap_size_hint_f
|
||||
\li \ref h5p::h5pget_nlinks_f
|
||||
\li \ref h5p::h5pget_obj_track_times_f
|
||||
\li h5pget_shared_mesg_index_f
|
||||
\li h5pget_shared_mesg_nindexes_f
|
||||
\li #h5p.h5pset_attr_creation_order_f
|
||||
\li #h5p.h5pset_attr_phase_change_f
|
||||
\li #h5p.h5pset_char_encoding_f
|
||||
\li #h5p.h5pset_copy_object_f
|
||||
\li #h5p.h5pset_create_inter_group_f
|
||||
\li #h5p.h5pset_data_transform_f
|
||||
\li \ref h5p::h5pset_attr_creation_order_f
|
||||
\li \ref h5p::h5pset_attr_phase_change_f
|
||||
\li \ref h5p::h5pset_char_encoding_f
|
||||
\li \ref h5p::h5pset_copy_object_f
|
||||
\li \ref h5p::h5pset_create_inter_group_f
|
||||
\li \ref h5p::h5pset_data_transform_f
|
||||
\li h5pset_elink_prefix_f
|
||||
\li #h5p.h5pset_est_link_info_f
|
||||
\li #h5p.h5pset_fapl_direct_f
|
||||
\li #h5p.h5pset_libver_bounds_f
|
||||
\li #h5p.h5pset_link_creation_order_f
|
||||
\li #h5p.h5pset_link_phase_change_f
|
||||
\li #h5p.h5pset_local_heap_size_hint_f
|
||||
\li #h5p.h5pset_obj_track_times_f
|
||||
\li #h5p.h5pset_nbit_f
|
||||
\li #h5p.h5pset_nlinks_f
|
||||
\li #h5p.h5pset_scaleoffset_f
|
||||
\li \ref h5p::h5pset_est_link_info_f
|
||||
\li \ref h5p::h5pset_fapl_direct_f
|
||||
\li \ref h5p::h5pset_libver_bounds_f
|
||||
\li \ref h5p::h5pset_link_creation_order_f
|
||||
\li \ref h5p::h5pset_link_phase_change_f
|
||||
\li \ref h5p::h5pset_local_heap_size_hint_f
|
||||
\li \ref h5p::h5pset_obj_track_times_f
|
||||
\li \ref h5p::h5pset_nbit_f
|
||||
\li \ref h5p::h5pset_nlinks_f
|
||||
\li \ref h5p::h5pset_scaleoffset_f
|
||||
|
||||
\b H5R
|
||||
\li #h5r.h5rget_name_f
|
||||
\li \ref h5r::h5rget_name_f
|
||||
|
||||
\b H5S
|
||||
\li #h5s.h5sdecode_f
|
||||
\li #h5s.h5sencode_f
|
||||
\li #h5s.h5sextent_equal_f
|
||||
\li \ref h5s::h5sdecode_f
|
||||
\li \ref h5s::h5sencode_f
|
||||
\li \ref h5s::h5sextent_equal_f
|
||||
|
||||
\b H5T
|
||||
\li #h5t.h5tcommit_anon_f
|
||||
\li #h5t.h5tcommit_f
|
||||
\li #h5t.h5tcommitted_f
|
||||
\li #h5t.h5tcompiler_conv_f
|
||||
\li #h5t.h5tdecode_f
|
||||
\li #h5t.h5tencode_f
|
||||
\li #h5t.h5tget_create_plist_f
|
||||
\li #h5t.h5topen_f
|
||||
\li \ref h5t::h5tcommit_anon_f
|
||||
\li \ref h5t::h5tcommit_f
|
||||
\li \ref h5t::h5tcommitted_f
|
||||
\li \ref h5t::h5tcompiler_conv_f
|
||||
\li \ref h5t::h5tdecode_f
|
||||
\li \ref h5t::h5tencode_f
|
||||
\li \ref h5t::h5tget_create_plist_f
|
||||
\li \ref h5t::h5topen_f
|
||||
|
||||
<h4>C++ wrappers</h4>
|
||||
There are no new C++ wrappers for Release 1.8.1.
|
||||
@@ -2131,13 +2131,13 @@ Symbols and preset values associated with the following functions, subroutines o
|
||||
<li>#H5Z_FILTER_SCALEOFFSET</li></ul>
|
||||
|
||||
Fortran90 subroutines:
|
||||
\li #h5p.h5pget_filter_f
|
||||
\li #h5p.h5pget_filter_by_id_f
|
||||
\li #h5p.h5pmodify_filter_f
|
||||
\li #h5p.h5premove_filter_f
|
||||
\li #h5p.h5pset_filter_f
|
||||
\li #h5z.h5zfilter_avail_f
|
||||
\li #h5z.h5zget_filter_info_f - Two new filter identifiers are available for the filter or filter_id parameters:<ul>
|
||||
\li \ref h5p::h5pget_filter_f
|
||||
\li \ref h5p::h5pget_filter_by_id_f
|
||||
\li \ref h5p::h5pmodify_filter_f
|
||||
\li \ref h5p::h5premove_filter_f
|
||||
\li \ref h5p::h5pset_filter_f
|
||||
\li \ref h5z::h5zfilter_avail_f
|
||||
\li \ref h5z::h5zget_filter_info_f - Two new filter identifiers are available for the filter or filter_id parameters:<ul>
|
||||
<li>H5Z_FILTER_NBIT_F</li>
|
||||
<li>H5Z_FILTER_SCALEOFFSET_F</li></ul>
|
||||
|
||||
|
||||
@@ -168,19 +168,19 @@ The following C++ wrapper was added:
|
||||
|
||||
<h4>In the Fortran API</h4>
|
||||
The following Fortran wrappers were added or changed:
|
||||
\li #h5f.h5fget_dset_no_attrs_hint_f - Wrappers for the dataset object header minimization calls. See #H5Fget_dset_no_attrs_hint.
|
||||
\li #h5f.h5fset_dset_no_attrs_hint_f - Wrappers for the dataset object header minimization calls. See #H5Fset_dset_no_attrs_hint.
|
||||
\li #h5p.h5pget_dset_no_attrs_hint_f - Wrappers for the dataset object header minimization calls. See #H5Pget_dset_no_attrs_hint.
|
||||
\li #h5p.h5pset_dset_no_attrs_hint_f - Wrappers for the dataset object header minimization calls. See #H5Pset_dset_no_attrs_hint.
|
||||
\li #h5o.h5ovisit_f - Added new Fortran 'fields' optional parameter. See #H5Ovisit2.
|
||||
\li #h5o.h5oget_info_by_name_f - Added new Fortran 'fields' optional parameter. See #H5Oget_info_by_name2.
|
||||
\li #h5o.h5oget_info_f - Added new Fortran 'fields' optional parameter. See #H5Oget_info2.
|
||||
\li #h5o.h5oget_info_by_idx_f - Added new Fortran 'fields' optional parameter. See #H5Oget_info_by_idx2.
|
||||
\li #h5o.h5ovisit_by_name_f - Added new Fortran 'fields' optional parameter. See #H5Ovisit_by_name2.
|
||||
\li `h5fget_dset_no_attrs_hint_f` - Wrappers for the dataset object header minimization calls. See #H5Fget_dset_no_attrs_hint.
|
||||
\li `h5fset_dset_no_attrs_hint_f` - Wrappers for the dataset object header minimization calls. See #H5Fset_dset_no_attrs_hint.
|
||||
\li `h5pget_dset_no_attrs_hint_f` - Wrappers for the dataset object header minimization calls. See #H5Pget_dset_no_attrs_hint.
|
||||
\li `h5pset_dset_no_attrs_hint_f` - Wrappers for the dataset object header minimization calls. See #H5Pset_dset_no_attrs_hint.
|
||||
\li \ref h5o::h5ovisit_f - Added new Fortran 'fields' optional parameter. See #H5Ovisit2.
|
||||
\li \ref h5o::h5oget_info_by_name_f - Added new Fortran 'fields' optional parameter. See #H5Oget_info_by_name2.
|
||||
\li \ref h5o::h5oget_info_f - Added new Fortran 'fields' optional parameter. See #H5Oget_info2.
|
||||
\li \ref h5o::h5oget_info_by_idx_f - Added new Fortran 'fields' optional parameter. See #H5Oget_info_by_idx2.
|
||||
\li \ref h5o::h5ovisit_by_name_f - Added new Fortran 'fields' optional parameter. See #H5Ovisit_by_name2.
|
||||
|
||||
|
||||
The following Fortran utility function was added:
|
||||
\li #h5lib.h5gmtime - converts (C) <code>time_t</code> structure to Fortran DATE AND TIME storage format
|
||||
\li `h5gmtime` - converts (C) <code>time_t</code> structure to Fortran DATE AND TIME storage format
|
||||
|
||||
A new Fortran derived type was added:
|
||||
\li c_h5o_info_t - This is interoperable with C's h5o_info_t. This is needed for callback functions which
|
||||
@@ -442,13 +442,13 @@ page, we list each feature and its associated C functions and Fortran wrappers.
|
||||
raw data, but it does rewrite HDF5 metadata.
|
||||
|
||||
<h4>Collective Metadata I/O:</h4>
|
||||
\li #H5Pset_coll_metadata_write and #h5p.h5pset_coll_metadata_write_f - Establishes I/O mode property setting,
|
||||
\li #H5Pset_coll_metadata_write and `h5pset_coll_metadata_write_f` - Establishes I/O mode property setting,
|
||||
collective or independent, for metadata writes.
|
||||
\li #H5Pget_coll_metadata_write and #h5p.h5pget_coll_metadata_write_f - Retrieves I/O mode property setting
|
||||
\li #H5Pget_coll_metadata_write and `h5pget_coll_metadata_write_f` - Retrieves I/O mode property setting
|
||||
for metadata writes.
|
||||
\li #H5Pset_all_coll_metadata_ops and #h5p.h5pset_all_coll_metadata_ops_f - Establishes I/O mode, collective
|
||||
\li #H5Pset_all_coll_metadata_ops and `h5pset_all_coll_metadata_ops_f` - Establishes I/O mode, collective
|
||||
or independent, for metadata read operations.
|
||||
\li #H5Pget_all_coll_metadata_ops and #h5p.h5pget_all_coll_metadata_ops_f - Retrieves I/O mode for metadata
|
||||
\li #H5Pget_all_coll_metadata_ops and `h5pget_all_coll_metadata_ops_f` - Retrieves I/O mode for metadata
|
||||
read operations.
|
||||
|
||||
<h4>Fine-tuning the Metadata Cache:</h4>
|
||||
@@ -486,34 +486,34 @@ when processing files employing the VDS feature:
|
||||
and handles the file and metadata appropriately.
|
||||
|
||||
<h4>Virtual Dataset or VDS:</h4>
|
||||
\li #H5Pset_virtual and #h5p.h5pset_virtual_f - Sets the mapping between virtual and source datasets.
|
||||
\li #H5Pget_virtual_count and #h5p.h5pget_virtual_count_f - Retrieves the number of mappings for the
|
||||
\li #H5Pset_virtual and `h5pset_virtual_f` - Sets the mapping between virtual and source datasets.
|
||||
\li #H5Pget_virtual_count and `h5pget_virtual_count_f` - Retrieves the number of mappings for the
|
||||
virtual dataset.
|
||||
\li #H5Pget_virtual_vspace and #h5p.h5pget_virtual_vspace_f - Retrieves a dataspace identifier for the
|
||||
\li #H5Pget_virtual_vspace and `h5pget_virtual_vspace_f` - Retrieves a dataspace identifier for the
|
||||
selection within the virtual dataset used in the mapping.
|
||||
\li #H5Pget_virtual_srcspace and #h5p.h5pget_virtual_srcspace_f - Retrieves a dataspace identifier
|
||||
\li #H5Pget_virtual_srcspace and `h5pget_virtual_srcspace_f` - Retrieves a dataspace identifier
|
||||
for the selection within the source dataset used in the mapping.
|
||||
\li #H5Pget_virtual_dsetname and #h5p.h5pget_virtual_dsetname_f - Retrieves the name of a source
|
||||
\li #H5Pget_virtual_dsetname and `h5pget_virtual_dsetname_f` - Retrieves the name of a source
|
||||
dataset used in the mapping.
|
||||
\li #H5Pget_virtual_filename and #h5p.h5pget_virtual_filename_f - Retrieves the filename of a source
|
||||
\li #H5Pget_virtual_filename and `h5pget_virtual_filename_f` - Retrieves the filename of a source
|
||||
dataset used in the mapping.
|
||||
\li #H5Pset_virtual_printf_gap and #h5p.h5pset_virtual_printf_gap_f - Sets maximum number of missing
|
||||
\li #H5Pset_virtual_printf_gap and `h5pset_virtual_printf_gap_f` - Sets maximum number of missing
|
||||
source files and/or datasets with printf-style names when getting the extent of an unlimited virtual dataset.
|
||||
\li #H5Pget_virtual_printf_gap and #h5p.h5pget_virtual_printf_gap_f - Returns maximum number of missing
|
||||
\li #H5Pget_virtual_printf_gap and `h5pget_virtual_printf_gap_f` - Returns maximum number of missing
|
||||
source files and/or datasets with printf-style names when getting the extent for an unlimited virtual dataset.
|
||||
\li #H5Pset_virtual_view and #h5p.h5pset_virtual_view_f - Sets the view of the virtual dataset to include
|
||||
\li #H5Pset_virtual_view and `h5pset_virtual_view_f` - Sets the view of the virtual dataset to include
|
||||
or exclude missing mapped elements.
|
||||
\li #H5Pget_virtual_view and #h5p.h5pget_virtual_view_f - Retrieves the view of a virtual dataset.
|
||||
\li #H5Pget_virtual_view and `h5pget_virtual_view_f` - Retrieves the view of a virtual dataset.
|
||||
|
||||
<h4>Supporting Functions:</h4>
|
||||
\li #H5Sis_regular_hyperslab and #h5s.h5sis_regular_hyperslab_f - Determines whether a hyperslab selection is regular.
|
||||
\li #H5Sget_regular_hyperslab and #h5s.h5sget_regular_hyperslab_f - Retrieves a regular hyperslab selection.
|
||||
\li #H5Sis_regular_hyperslab and `h5sis_regular_hyperslab_f` - Determines whether a hyperslab selection is regular.
|
||||
\li #H5Sget_regular_hyperslab and `h5sget_regular_hyperslab_f` - Retrieves a regular hyperslab selection.
|
||||
|
||||
<h4>Modified Functions:</h4>
|
||||
The following pre-exising functions have been modified to understand virtual datasets.
|
||||
\li #H5Pset_layout and #h5p.h5pset_layout_f - Specifies the layout to be used for a dataset.
|
||||
\li #H5Pset_layout and `h5pset_layout_f` - Specifies the layout to be used for a dataset.
|
||||
Virtual dataset, #H5D_VIRTUAL, has been added to the list of layouts available through this function.
|
||||
\li #H5Pget_layout and #h5p.h5pget_layout_f - Retrieves the layout in use for a dataset.
|
||||
\li #H5Pget_layout and `h5pget_layout_f` - Retrieves the layout in use for a dataset.
|
||||
Virtual dataset, #H5D_VIRTUAL, has been added to the list of layouts.
|
||||
|
||||
<h4>Partial Edge Chunks:</h4>
|
||||
|
||||
@@ -176,26 +176,26 @@ list the specific new feature that they were added for.
|
||||
<strong>In the Fortran Interface (main library)</strong><br />
|
||||
Following are the new or changed APIs introduced in HDF5-1.12.0. Those introduced with a new feature
|
||||
list the specific new feature that they were added for.
|
||||
\li #h5f.h5fget_fileno_f - Retrieves a file's file number that uniquely identifies the open file
|
||||
\li #h5f.h5fis_accessible_f - Determines if a file can be opened with a given fapl
|
||||
\li #h5l.h5lget_info_f - The function h5lget_info_f is mapped to #H5Lget_info2.
|
||||
\li #h5l.h5lget_info_by_idx_f - The function h5lget_info_by_idx_f is mapped to #H5Lget_info_by_idx2.
|
||||
\li #h5l.h5literate_f - The function h5literate_f is mapped to #H5Literate2.
|
||||
\li #h5l.h5literate_by_name_f - The function h5literate_by_name_f is mapped to #H5Literate_by_name2.
|
||||
\li #h5o.h5oopen_by_token_f - Opens an object in an HDF5 file using its VOL independent token
|
||||
\li #h5o.h5otoken_cmp_f - Compares two VOL connector object tokens
|
||||
\li #h5p.h5pget_vol_id_f - Returns the identifier of the current VOL connector
|
||||
\li #h5p.h5pset_vol_f - Set the file VOL connector for a file access property list
|
||||
\li #h5vl.h5vlclose_f - Closes a VOL connector identifier
|
||||
\li #h5vl.h5vlget_connector_id_f - Retrieves the VOL connector identifier for a given object identifier
|
||||
\li #h5vl.h5vlget_connector_id_by_name_f - Retrieves the identifier for a registered VOL connector name
|
||||
\li #h5vl.h5vlget_connector_id_by_value_f - Retrieves the identifier for a registered VOL connector value
|
||||
\li #h5vl.h5vlget_connector_name_f - Retrieves the connector name for the VOL associated with the object or file identifier
|
||||
\li #h5vl.h5vlis_connector_registered_by_name_f - Tests whether a VOL class has been registered or not for a connector name
|
||||
\li #h5vl.h5vlis_connector_registered_by_value_f - Tests whether a VOL class has been registered or not for a connector value
|
||||
\li #h5vl.h5vlregister_connector_by_name_f - Registers a new VOL connector by name
|
||||
\li #h5vl.h5vlregister_connector_by_value_f - Registers a new VOL connector by connector value
|
||||
\li #h5vl.h5vlunregister_connector_f - Removes a VOL connector identifier from the library
|
||||
\li \ref h5f::h5fget_fileno_f - Retrieves a file's file number that uniquely identifies the open file
|
||||
\li \ref h5f::h5fis_accessible_f - Determines if a file can be opened with a given fapl
|
||||
\li <code>h5lget_info_f</code> - The function h5lget_info_f is mapped to #H5Lget_info2.
|
||||
\li <code>h5lget_info_by_idx_f</code> - The function h5lget_info_by_idx_f is mapped to #H5Lget_info_by_idx2.
|
||||
\li \ref h5l::h5literate_f - The function h5literate_f is mapped to #H5Literate2.
|
||||
\li \ref h5l::h5literate_by_name_f - The function h5literate_by_name_f is mapped to #H5Literate_by_name2.
|
||||
\li <code>h5oopen_by_token_f</code> - Opens an object in an HDF5 file using its VOL independent token
|
||||
\li <code>h5otoken_cmp_f</code> - Compares two VOL connector object tokens
|
||||
\li \ref h5p::h5pget_vol_id_f - Returns the identifier of the current VOL connector
|
||||
\li \ref h5p::h5pset_vol_f - Set the file VOL connector for a file access property list
|
||||
\li \ref h5vl::h5vlclose_f - Closes a VOL connector identifier
|
||||
\li \ref h5vl::h5vlget_connector_id_f - Retrieves the VOL connector identifier for a given object identifier
|
||||
\li \ref h5vl::h5vlget_connector_id_by_name_f - Retrieves the identifier for a registered VOL connector name
|
||||
\li \ref h5vl::h5vlget_connector_id_by_value_f - Retrieves the identifier for a registered VOL connector value
|
||||
\li \ref h5vl::h5vlget_connector_name_f - Retrieves the connector name for the VOL associated with the object or file identifier
|
||||
\li \ref h5vl::h5vlis_connector_registered_by_name_f - Tests whether a VOL class has been registered or not for a connector name
|
||||
\li \ref h5vl::h5vlis_connector_registered_by_value_f - Tests whether a VOL class has been registered or not for a connector value
|
||||
\li \ref h5vl::h5vlregister_connector_by_name_f - Registers a new VOL connector by name
|
||||
\li \ref h5vl::h5vlregister_connector_by_value_f - Registers a new VOL connector by connector value
|
||||
\li \ref h5vl::h5vlunregister_connector_f - Removes a VOL connector identifier from the library
|
||||
|
||||
<h4>In the C++ Wrapper</h4>
|
||||
\li <code>H5File::getFileNum</code> - See #H5Fget_fileno
|
||||
|
||||
@@ -94,20 +94,20 @@ Following are the new APIs introduced in HDF5-1.14.3.
|
||||
\li #H5Pget_actual_selection_io_mode - Retrieves the type(s) of I/O performed on raw data
|
||||
|
||||
<h4>In the Fortran Interface</h4>
|
||||
\li #h5lib.h5get_free_list_sizes_f - Gets the current size of the free lists used to manage memory
|
||||
\li #h5d.h5dwrite_chunk_f - Writes a raw data chunk from a buffer directly to a dataset in a file
|
||||
\li #h5d.h5dread_chunk_f - Reads a raw data chunk directly from a dataset in a file into a buffer
|
||||
\li #h5f.h5fget_info_f - Retrieves global file information
|
||||
\li #h5l.h5lvisit_f - Recursively visits all links starting from a specified group
|
||||
\li #h5l.h5lvisit_by_name_f - Recursively visits all links starting from a specified group
|
||||
\li #h5p.h5pget_no_selection_io_cause_f - Retrieves the cause for not performing selection or vector I/O on the last parallel I/O call
|
||||
\li #h5p.h5pget_mpio_no_collective_cause_f - Retrieves local and global causes that broke collective I/O on the last parallel I/O call
|
||||
\li #h5s.h5sselect_shape_same_f - Checks if two selections are the same shape
|
||||
\li #h5s.h5sselect_intersect_block_f - Checks if current selection intersects with a block
|
||||
\li #h5p.h5pget_file_space_page_size_f - Gets the file space page size for a file creation property list
|
||||
\li #h5p.h5pset_file_space_page_size_f - Sets the file space page size for a file creation property list
|
||||
\li #h5p.h5pget_file_space_strategy_f - Gets the file space handling strategy and persisting free-space values for a file creation property list
|
||||
\li #h5p.h5pset_file_space_strategy_f - Sets the file space handling strategy and persisting free-space values for a file creation property list
|
||||
\li `h5get_free_list_sizes_f` - Gets the current size of the free lists used to manage memory
|
||||
\li \ref h5d::h5dwrite_chunk_f - Writes a raw data chunk from a buffer directly to a dataset in a file
|
||||
\li \ref h5d::h5dread_chunk_f - Reads a raw data chunk directly from a dataset in a file into a buffer
|
||||
\li `h5fget_info_f` - Retrieves global file information
|
||||
\li \ref h5l::h5lvisit_f - Recursively visits all links starting from a specified group
|
||||
\li `h5lvisit_by_name_f` - Recursively visits all links starting from a specified group
|
||||
\li \ref h5p::h5pget_no_selection_io_cause_f - Retrieves the cause for not performing selection or vector I/O on the last parallel I/O call
|
||||
\li \ref h5p::h5pget_mpio_no_collective_cause_f - Retrieves local and global causes that broke collective I/O on the last parallel I/O call
|
||||
\li `h5sselect_shape_same_f` - Checks if two selections are the same shape
|
||||
\li `h5sselect_intersect_block_f` - Checks if current selection intersects with a block
|
||||
\li \ref h5p::h5pget_file_space_page_size_f - Gets the file space page size for a file creation property list
|
||||
\li \ref h5p::h5pset_file_space_page_size_f - Sets the file space page size for a file creation property list
|
||||
\li \ref h5p::h5pget_file_space_strategy_f - Gets the file space handling strategy and persisting free-space values for a file creation property list
|
||||
\li `h5pset_file_space_strategy_f` - Sets the file space handling strategy and persisting free-space values for a file creation property list
|
||||
|
||||
In addition, there are other new Fortran functions including the Fortran async APIs
|
||||
and the Fortran VOL capability definitions.
|
||||
@@ -148,10 +148,10 @@ Following are the new APIs introduced in HDF5-1.14.1.
|
||||
\li #H5Pset_selection_io - Sets the selection I/O mode
|
||||
|
||||
<h4>In the Fortran Interface</h4>
|
||||
\li #h5p.h5pget_modify_write_buf_f - Retrieves the "modify write buffer" property
|
||||
\li #h5p.h5pget_selection_io_f - Retrieves the selection I/O mode
|
||||
\li #h5p.h5pset_modify_write_buf_f - Allows the library to modify the contents of the write buffer
|
||||
\li #h5p.h5pset_selection_io_f - Sets the selection I/O mode
|
||||
\li \ref h5p::h5pget_modify_write_buf_f - Retrieves the "modify write buffer" property
|
||||
\li \ref h5p::h5pget_selection_io_f - Retrieves the selection I/O mode
|
||||
\li \ref h5p::h5pset_modify_write_buf_f - Allows the library to modify the contents of the write buffer
|
||||
\li \ref h5p::h5pset_selection_io_f - Sets the selection I/O mode
|
||||
|
||||
|
||||
\subsection subsec_rel_spec_114_change_0versus12_2 Release 1.14.0 versus Release 1.12.2
|
||||
|
||||
+19
-35
@@ -144,25 +144,17 @@ add_executable (H5match_types
|
||||
target_include_directories (H5match_types PRIVATE "${HDF5_SRC_BINARY_DIR};${HDF5_SRC_INCLUDE_DIRS};${HDF5_F90_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
# check if a pre-generated H5fortran_types.F90 file is present
|
||||
if (NOT EXISTS "${HDF5_GENERATED_SOURCE_DIR}/H5fortran_types.F90")
|
||||
if (CMAKE_CROSSCOMPILING AND NOT CMAKE_CROSSCOMPILING_EMULATOR)
|
||||
message (FATAL_ERROR "No pre-generated H5fortran_types.F90 file found - cannot generate without cross-compiling emulator")
|
||||
endif ()
|
||||
message (STATUS "No pre-generated H5fortran_types.F90 file found - generating one")
|
||||
# execute the H5match_types program
|
||||
if (CMAKE_CROSSCOMPILING)
|
||||
add_custom_command (TARGET H5match_types POST_BUILD
|
||||
BYPRODUCTS ${HDF5_F90_BINARY_DIR}/H5f90i_gen.h ${HDF5_F90_BINARY_DIR}/H5fortran_types.F90
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E env ${CROSSCOMPILING_PATH}
|
||||
COMMAND $<TARGET_FILE:H5match_types>
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
|
||||
COMMENT "Generating the H5fortran_types.F90 and H5f90i_gen.h files"
|
||||
)
|
||||
else ()
|
||||
add_custom_command (TARGET H5match_types POST_BUILD
|
||||
BYPRODUCTS ${HDF5_F90_BINARY_DIR}/H5f90i_gen.h ${HDF5_F90_BINARY_DIR}/H5fortran_types.F90
|
||||
COMMAND $<TARGET_FILE:H5match_types>
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
|
||||
COMMENT "Generating the H5fortran_types.F90 and H5f90i_gen.h files"
|
||||
)
|
||||
endif ()
|
||||
add_custom_command (TARGET H5match_types POST_BUILD
|
||||
BYPRODUCTS ${HDF5_F90_BINARY_DIR}/H5f90i_gen.h ${HDF5_F90_BINARY_DIR}/H5fortran_types.F90
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5match_types>
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
|
||||
COMMENT "Generating the H5fortran_types.F90 and H5f90i_gen.h files"
|
||||
)
|
||||
else ()
|
||||
message (STATUS "Using existing pre-generated H5fortran_types.F90 file")
|
||||
add_custom_command (
|
||||
@@ -337,24 +329,16 @@ set (f90_F_GEN_SOURCES
|
||||
)
|
||||
# check if a pre-generated H5fortran_types.F90 file is present
|
||||
if (NOT EXISTS "${HDF5_GENERATED_SOURCE_DIR}/H5_gen.F90")
|
||||
message (STATUS "No pre-generated H5_gen.F90 file found - generating one")
|
||||
if (CMAKE_CROSSCOMPILING)
|
||||
add_custom_command (TARGET H5_buildiface POST_BUILD
|
||||
BYPRODUCTS ${HDF5_F90_BINARY_DIR}/H5_gen.F90
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E env ${CROSSCOMPILING_PATH}
|
||||
COMMAND $<TARGET_FILE:H5_buildiface>
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
|
||||
COMMENT "Generating the H5_gen.F90 file"
|
||||
)
|
||||
else ()
|
||||
add_custom_command (TARGET H5_buildiface POST_BUILD
|
||||
BYPRODUCTS ${HDF5_F90_BINARY_DIR}/H5_gen.F90
|
||||
COMMAND $<TARGET_FILE:H5_buildiface>
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
|
||||
COMMENT "Generating the H5_gen.F90 file"
|
||||
)
|
||||
if (CMAKE_CROSSCOMPILING AND NOT CMAKE_CROSSCOMPILING_EMULATOR)
|
||||
message (FATAL_ERROR "No pre-generated H5_gen.F90 file found - cannot generate without cross-compiling emulator")
|
||||
endif ()
|
||||
message (STATUS "No pre-generated H5_gen.F90 file found - generating one")
|
||||
add_custom_command (TARGET H5_buildiface POST_BUILD
|
||||
BYPRODUCTS ${HDF5_F90_BINARY_DIR}/H5_gen.F90
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5_buildiface>
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
|
||||
COMMENT "Generating the H5_gen.F90 file"
|
||||
)
|
||||
else ()
|
||||
message (STATUS "Using existing pre-generated H5_gen.F90 file")
|
||||
add_custom_command (
|
||||
@@ -662,7 +646,7 @@ if (${HDF_CFG_NAME} MATCHES "Debug" OR ${HDF_CFG_NAME} MATCHES "Developer")
|
||||
endif ()
|
||||
|
||||
set (_PKG_CONFIG_EXTRA_CFLAGS)
|
||||
set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${PKG_CONFIG_LIBNAME}")
|
||||
set (_PKG_CONFIG_LIBS "-l${PKG_CONFIG_LIBNAME}")
|
||||
set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_NAME} = ${HDF5_PACKAGE_VERSION}")
|
||||
set (_PKG_CONFIG_LIBS_PRIVATE "-l${HDF5_F90_C_LIB_NAME}")
|
||||
set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_NAME} = ${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
@@ -151,7 +151,9 @@ CONTAINS
|
||||
SUBROUTINE h5fdsubfiling_get_file_mapping_f(file_id, filenames, num_files, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: file_id
|
||||
#ifdef H5_FORTRAN_HAVE_CHAR_ALLOC
|
||||
#ifdef H5_DOXYGEN
|
||||
CHARACTER(LEN=:), ALLOCATABLE, DIMENSION(:), INTENT(OUT) :: filenames
|
||||
#elif defined(H5_FORTRAN_HAVE_CHAR_ALLOC)
|
||||
CHARACTER(LEN=:), ALLOCATABLE, DIMENSION(:), INTENT(OUT) :: filenames
|
||||
#else
|
||||
INTEGER, PARAMETER :: DEFAULT_MAX_LEN = 8192
|
||||
@@ -160,6 +162,7 @@ SUBROUTINE h5fdsubfiling_get_file_mapping_f(file_id, filenames, num_files, hdfer
|
||||
INTEGER(SIZE_T), INTENT(OUT) :: num_files
|
||||
INTEGER, INTENT(OUT) :: hdferr
|
||||
|
||||
#ifndef H5_DOXYGEN
|
||||
TYPE(C_PTR) :: filenames_ptr
|
||||
INTEGER(C_SIZE_T) :: c_num_files
|
||||
INTEGER(C_INT) :: ret_val
|
||||
@@ -275,6 +278,7 @@ SUBROUTINE h5fdsubfiling_get_file_mapping_f(file_id, filenames, num_files, hdfer
|
||||
! Free the C memory allocated by H5FDsubfiling_get_file_mapping
|
||||
ret_val = h5free_string_array_memory_c(filenames_ptr, c_num_files)
|
||||
! Note: We ignore the return value of the free function since the main operation succeeded
|
||||
#endif
|
||||
|
||||
END SUBROUTINE h5fdsubfiling_get_file_mapping_f
|
||||
|
||||
|
||||
@@ -103,24 +103,16 @@ if (HDF5_ENABLE_FORMATTERS)
|
||||
endif ()
|
||||
|
||||
if (NOT EXISTS "${HDF5_GENERATED_SOURCE_DIR}/tf_gen.F90")
|
||||
message (STATUS "No pre-generated tf_gen.F90 file found - generating one")
|
||||
if (CMAKE_CROSSCOMPILING)
|
||||
add_custom_command (TARGET H5_test_buildiface POST_BUILD
|
||||
BYPRODUCTS ${HDF5_FORTRAN_TESTS_BINARY_DIR}/tf_gen.F90
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E env ${CROSSCOMPILING_PATH}
|
||||
COMMAND $<TARGET_FILE:H5_test_buildiface>
|
||||
WORKING_DIRECTORY ${HDF5_FORTRAN_TESTS_BINARY_DIR}
|
||||
COMMENT "Generating the tf_gen.F90 static file"
|
||||
)
|
||||
else ()
|
||||
add_custom_command (TARGET H5_test_buildiface POST_BUILD
|
||||
BYPRODUCTS ${HDF5_FORTRAN_TESTS_BINARY_DIR}/tf_gen.F90
|
||||
COMMAND $<TARGET_FILE:H5_test_buildiface>
|
||||
WORKING_DIRECTORY ${HDF5_FORTRAN_TESTS_BINARY_DIR}
|
||||
COMMENT "Generating the tf_gen.F90 static file"
|
||||
)
|
||||
if (CMAKE_CROSSCOMPILING AND NOT CMAKE_CROSSCOMPILING_EMULATOR)
|
||||
message (FATAL_ERROR "No pre-generated tf_gen.F90 file found - cannot generate without cross-compiling emulator")
|
||||
endif ()
|
||||
message (STATUS "No pre-generated tf_gen.F90 file found - generating one")
|
||||
add_custom_command (TARGET H5_test_buildiface POST_BUILD
|
||||
BYPRODUCTS ${HDF5_FORTRAN_TESTS_BINARY_DIR}/tf_gen.F90
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5_test_buildiface>
|
||||
WORKING_DIRECTORY ${HDF5_FORTRAN_TESTS_BINARY_DIR}
|
||||
COMMENT "Generating the tf_gen.F90 static file"
|
||||
)
|
||||
else ()
|
||||
message (STATUS "Using existing pre-generated tf_gen.F90 file")
|
||||
add_custom_command (
|
||||
|
||||
@@ -92,7 +92,6 @@ endif ()
|
||||
#set_tests_properties (FORTRAN_testhdf5_fortran PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
set_tests_properties (FORTRAN_testhdf5_fortran PROPERTIES
|
||||
FIXTURES_REQUIRED clear_testhdf5_fortran
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if ("FORTRAN_testhdf5_fortran" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
|
||||
set_tests_properties (FORTRAN_testhdf5_fortran PROPERTIES DISABLED true)
|
||||
@@ -119,7 +118,6 @@ endif ()
|
||||
set_tests_properties (FORTRAN_testhdf5_fortran_1_8 PROPERTIES
|
||||
DEPENDS FORTRAN_testhdf5_fortran
|
||||
FIXTURES_REQUIRED clear_testhdf5_fortran
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if ("FORTRAN_testhdf5_fortran_1_8" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
|
||||
set_tests_properties (FORTRAN_testhdf5_fortran_1_8 PROPERTIES DISABLED true)
|
||||
@@ -146,7 +144,6 @@ endif ()
|
||||
set_tests_properties (FORTRAN_fortranlib_test_F03 PROPERTIES
|
||||
DEPENDS FORTRAN_testhdf5_fortran_1_8
|
||||
FIXTURES_REQUIRED clear_testhdf5_fortran
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if ("FORTRAN_fortranlib_test_F03" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
|
||||
set_tests_properties (FORTRAN_fortranlib_test_F03 PROPERTIES DISABLED true)
|
||||
@@ -171,7 +168,6 @@ else ()
|
||||
endif ()
|
||||
set_tests_properties (FORTRAN_vol_connector PROPERTIES
|
||||
FIXTURES_REQUIRED clear_testhdf5_fortran
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if ("FORTRAN_vol_connector" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
|
||||
set_tests_properties (FORTRAN_vol_connector PROPERTIES DISABLED true)
|
||||
@@ -188,7 +184,6 @@ add_test (
|
||||
)
|
||||
set_tests_properties (FORTRAN_fflush1 PROPERTIES
|
||||
DEPENDS FORTRAN_flush1-clear-objects
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if ("FORTRAN_fflush1" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
|
||||
set_tests_properties (FORTRAN_fflush1 PROPERTIES DISABLED true)
|
||||
@@ -200,7 +195,6 @@ add_test (
|
||||
COMMAND $<TARGET_FILE:fflush2>
|
||||
)
|
||||
set_tests_properties (FORTRAN_fflush2 PROPERTIES
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
DEPENDS FORTRAN_fflush1
|
||||
)
|
||||
if ("FORTRAN_fflush2" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
|
||||
|
||||
@@ -106,7 +106,7 @@ if (${HDF_CFG_NAME} MATCHES "Debug" OR ${HDF_CFG_NAME} MATCHES "Developer")
|
||||
endif ()
|
||||
|
||||
set (_PKG_CONFIG_EXTRA_CFLAGS)
|
||||
set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${PKG_CONFIG_LIBNAME}")
|
||||
set (_PKG_CONFIG_LIBS "-l${PKG_CONFIG_LIBNAME}")
|
||||
set (_PKG_CONFIG_REQUIRES "${HDF5_CPP_LIB_NAME} = ${HDF5_PACKAGE_VERSION}, ${HDF5_HL_LIB_NAME} = ${HDF5_PACKAGE_VERSION}")
|
||||
set (_PKG_CONFIG_LIBS_PRIVATE)
|
||||
set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_CPP_LIB_NAME} = ${HDF5_PACKAGE_VERSION}, ${HDF5_HL_LIB_NAME} = ${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
@@ -44,7 +44,6 @@ else ()
|
||||
endif ()
|
||||
set_tests_properties (HL_CPP_ptableTest PROPERTIES
|
||||
DEPENDS HL_CPP_ptableTest-clear-objects
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if ("HL_CPP_ptableTest" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
|
||||
set_tests_properties (HL_CPP_ptableTest PROPERTIES DISABLED true)
|
||||
|
||||
@@ -123,24 +123,16 @@ set (HDF5_HL_F90_F_BASE_SOURCES
|
||||
)
|
||||
|
||||
if (NOT EXISTS "${HDF5_GENERATED_SOURCE_DIR}/H5LTff_gen.F90")
|
||||
message (STATUS "No pre-generated H5LTff_gen.F90 H5TBff_gen.F90 file found - generating one")
|
||||
if (CMAKE_CROSSCOMPILING)
|
||||
add_custom_command (TARGET H5HL_buildiface POST_BUILD
|
||||
BYPRODUCTS ${HDF5_HL_F90_BINARY_DIR}/H5LTff_gen.F90 ${HDF5_HL_F90_BINARY_DIR}/H5TBff_gen.F90
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E env ${CROSSCOMPILING_PATH}
|
||||
COMMAND $<TARGET_FILE:H5HL_buildiface>
|
||||
WORKING_DIRECTORY ${HDF5_HL_F90_BINARY_DIR}
|
||||
COMMENT "Generating the H5LTff_gen.F90, H5TBff_gen.F90 files"
|
||||
)
|
||||
else ()
|
||||
add_custom_command (TARGET H5HL_buildiface POST_BUILD
|
||||
BYPRODUCTS ${HDF5_HL_F90_BINARY_DIR}/H5LTff_gen.F90 ${HDF5_HL_F90_BINARY_DIR}/H5TBff_gen.F90
|
||||
COMMAND $<TARGET_FILE:H5HL_buildiface>
|
||||
WORKING_DIRECTORY ${HDF5_HL_F90_BINARY_DIR}
|
||||
COMMENT "Generating the H5LTff_gen.F90, H5TBff_gen.F90 files"
|
||||
)
|
||||
if (CMAKE_CROSSCOMPILING AND NOT CMAKE_CROSSCOMPILING_EMULATOR)
|
||||
message (FATAL_ERROR "No pre-generated H5LTff_gen.F90 H5TBff_gen.F90 file found - cannot generate without cross-compiling emulator")
|
||||
endif ()
|
||||
message (STATUS "No pre-generated H5LTff_gen.F90 H5TBff_gen.F90 file found - generating one")
|
||||
add_custom_command (TARGET H5HL_buildiface POST_BUILD
|
||||
BYPRODUCTS ${HDF5_HL_F90_BINARY_DIR}/H5LTff_gen.F90 ${HDF5_HL_F90_BINARY_DIR}/H5TBff_gen.F90
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5HL_buildiface>
|
||||
WORKING_DIRECTORY ${HDF5_HL_F90_BINARY_DIR}
|
||||
COMMENT "Generating the H5LTff_gen.F90, H5TBff_gen.F90 files"
|
||||
)
|
||||
else ()
|
||||
message (STATUS "Using existing pre-generated H5LTff_gen.F90 H5TBff_gen.F90 file")
|
||||
add_custom_command (
|
||||
@@ -381,7 +373,7 @@ if (${HDF_CFG_NAME} MATCHES "Debug" OR ${HDF_CFG_NAME} MATCHES "Developer")
|
||||
endif ()
|
||||
|
||||
set (_PKG_CONFIG_EXTRA_CFLAGS)
|
||||
set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${PKG_CONFIG_LIBNAME}")
|
||||
set (_PKG_CONFIG_LIBS "-l${PKG_CONFIG_LIBNAME}")
|
||||
set (_PKG_CONFIG_REQUIRES "${HDF5_F90_LIB_NAME} = ${HDF5_PACKAGE_VERSION}")
|
||||
set (_PKG_CONFIG_LIBS_PRIVATE "-l${HDF5_HL_F90_C_LIB_NAME}")
|
||||
set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_F90_LIB_NAME} = ${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
@@ -67,7 +67,6 @@ macro (ADD_H5_FORTRAN_TEST file)
|
||||
set_tests_properties (HL_FORTRAN_f90_${file} PROPERTIES
|
||||
FIXTURES_REQUIRED clear_HL_FORTRAN_test
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if ("HL_FORTRAN_f90_${file}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
|
||||
set_tests_properties (HL_FORTRAN_f90_${file} PROPERTIES DISABLED true)
|
||||
|
||||
@@ -139,7 +139,7 @@ if (${HDF_CFG_NAME} MATCHES "Debug" OR ${HDF_CFG_NAME} MATCHES "Developer")
|
||||
endif ()
|
||||
|
||||
set (_PKG_CONFIG_EXTRA_CFLAGS)
|
||||
set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${PKG_CONFIG_LIBNAME}")
|
||||
set (_PKG_CONFIG_LIBS "-l${PKG_CONFIG_LIBNAME}")
|
||||
set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_NAME} = ${HDF5_PACKAGE_VERSION}")
|
||||
set (_PKG_CONFIG_LIBS_PRIVATE)
|
||||
set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_NAME} = ${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
@@ -133,7 +133,7 @@ macro (HL_ADD_TEST hl_name)
|
||||
endif ()
|
||||
set_tests_properties (${current_test_name} PROPERTIES
|
||||
FIXTURES_REQUIRED clear_test_hl
|
||||
ENVIRONMENT "srcdir=${HDF5_HL_TEST_BINARY_DIR};${CROSSCOMPILING_PATH}"
|
||||
ENVIRONMENT "srcdir=${HDF5_HL_TEST_BINARY_DIR}"
|
||||
WORKING_DIRECTORY ${HDF5_HL_TEST_BINARY_DIR}
|
||||
)
|
||||
if ("HL_${hl_name}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user