mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
allow better CMake version testing (#5727)
* add cmake latest workflow with lukka/get-cmake@latest * Upgrade minimum CMake version to 3.26
This commit is contained in:
@@ -4,6 +4,10 @@ name: hdf5 dev CMake CI
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
cmake_version:
|
||||
description: "3.26.0 or later, latest"
|
||||
required: true
|
||||
type: string
|
||||
thread_safety:
|
||||
description: "TS or empty"
|
||||
required: true
|
||||
@@ -16,6 +20,11 @@ on:
|
||||
description: "release vs. debug build"
|
||||
required: true
|
||||
type: string
|
||||
save_binary:
|
||||
description: "binary-ext-name or missing"
|
||||
required: false
|
||||
default: "skip"
|
||||
type: string
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -31,6 +40,18 @@ jobs:
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
cmake --version
|
||||
|
||||
- name: Set environment for MSVC (Windows)
|
||||
run: |
|
||||
# Set these environment variables so CMake picks the correct compiler
|
||||
@@ -132,10 +153,10 @@ jobs:
|
||||
- name: Save published binary (Windows)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zip-vs2022_cl-${{ inputs.build_mode }}-arm-binary
|
||||
name: zip-vs2022_cl-${{ inputs.build_mode }}-${{ inputs.save_binary }}-binary
|
||||
path: ${{ runner.workspace }}/build/HDF5-*-win64.zip
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
if: ${{ (inputs.thread_safety != 'TS') && (inputs.concurrent != 'CC') && ( inputs.build_mode != 'Debug') }}
|
||||
if: ${{ (inputs.thread_safety != 'TS') && (inputs.concurrent != 'CC') && ( inputs.save_binary != 'skip') }}
|
||||
|
||||
build_and_test_linux:
|
||||
name: "Ubuntu gcc-${{ inputs.build_mode }}-${{ inputs.thread_safety }}-${{ inputs.concurrent }}"
|
||||
@@ -243,10 +264,10 @@ jobs:
|
||||
- name: Save published binary (linux)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: tgz-ubuntu-2404_gcc-${{ inputs.build_mode }}-arm-binary
|
||||
name: tgz-ubuntu-2404_gcc-${{ inputs.build_mode }}-${{ inputs.save_binary }}-binary
|
||||
path: ${{ runner.workspace }}/build/HDF5-*-Linux.tar.gz
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
if: ${{ (inputs.thread_safety != 'TS') && (inputs.concurrent != 'CC') && ( inputs.build_mode != 'Debug') }}
|
||||
if: ${{ (inputs.thread_safety != 'TS') && (inputs.concurrent != 'CC') && ( inputs.save_binary != 'skip') }}
|
||||
|
||||
build_and_test_mac_latest:
|
||||
name: "MacOS Clang-${{ inputs.build_mode }}-${{ inputs.thread_safety }}-${{ inputs.concurrent }}"
|
||||
@@ -260,6 +281,18 @@ jobs:
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
cmake --version
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@v4.1.7
|
||||
@@ -357,7 +390,7 @@ jobs:
|
||||
- name: Save published binary (Mac_latest)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: tgz-macos14_clang-${{ inputs.build_mode }}-arm-binary
|
||||
name: tgz-macos14_clang-${{ inputs.build_mode }}-${{ inputs.save_binary }}-binary
|
||||
path: ${{ runner.workspace }}/build/HDF5-*-Darwin.tar.gz
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
if: ${{ (inputs.thread_safety != 'TS') && (inputs.concurrent != 'CC') && ( inputs.build_mode != 'Debug') }}
|
||||
if: ${{ (inputs.thread_safety != 'TS') && (inputs.concurrent != 'CC') && ( inputs.save_binary != 'skip') }}
|
||||
|
||||
@@ -22,6 +22,10 @@ on:
|
||||
type: string
|
||||
required: true
|
||||
default: snapshots
|
||||
cmake_version:
|
||||
description: "3.26.0 or later, latest"
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
APPLE_CERTS_BASE64:
|
||||
required: true
|
||||
@@ -87,11 +91,12 @@ jobs:
|
||||
uses: ilammy/msvc-dev-cmd@v1.13.0
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: check cmake version
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
@@ -233,11 +238,12 @@ jobs:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: check cmake version
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
@@ -360,11 +366,12 @@ jobs:
|
||||
clang -v
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: check cmake version
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
@@ -581,9 +588,10 @@ jobs:
|
||||
sudo apt-get install ninja-build doxygen
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Install aws-c-s3 (Cached installation)
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
@@ -682,9 +690,10 @@ jobs:
|
||||
version: '2025.0'
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Set file base name (Windows_intel)
|
||||
id: set-file-base
|
||||
@@ -827,9 +836,10 @@ jobs:
|
||||
version: '2025.0'
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Set file base name (Linux_intel)
|
||||
id: set-file-base
|
||||
|
||||
@@ -22,6 +22,10 @@ on:
|
||||
description: "release vs. debug build"
|
||||
required: true
|
||||
type: string
|
||||
cmake_version:
|
||||
description: "3.26.0 or later, latest"
|
||||
required: true
|
||||
type: string
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -44,6 +48,12 @@ jobs:
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Enable Developer Command Prompt
|
||||
uses: ilammy/msvc-dev-cmd@v1.13.0
|
||||
|
||||
@@ -170,6 +180,12 @@ jobs:
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Setup MPI (${{ matrix.mpi }})
|
||||
id: setup-mpi
|
||||
uses: mpi4py/setup-mpi@v1
|
||||
|
||||
@@ -22,6 +22,10 @@ on:
|
||||
description: "release vs. debug build"
|
||||
required: true
|
||||
type: string
|
||||
cmake_version:
|
||||
description: "3.26.0 or later"
|
||||
required: true
|
||||
type: string
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -73,9 +77,10 @@ jobs:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Set file base name (OpenMPI)
|
||||
id: set-file-base
|
||||
@@ -194,9 +199,10 @@ jobs:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Set file base name (MPICH)
|
||||
id: set-file-base
|
||||
|
||||
@@ -18,6 +18,10 @@ on:
|
||||
type: string
|
||||
required: true
|
||||
default: snapshots
|
||||
cmake_version:
|
||||
description: "3.26.0 or later, latest"
|
||||
required: true
|
||||
type: string
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -41,11 +45,12 @@ jobs:
|
||||
uses: ilammy/msvc-dev-cmd@v1.13.0
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: check cmake version
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
@@ -154,9 +159,10 @@ jobs:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Set file base name (Linux)
|
||||
id: set-file-base
|
||||
@@ -255,11 +261,12 @@ jobs:
|
||||
clang -v
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: check cmake version
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
@@ -368,9 +375,10 @@ jobs:
|
||||
sudo apt-get install ninja-build doxygen
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Install aws-c-s3 (Cached installation)
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
@@ -485,9 +493,10 @@ jobs:
|
||||
version: '2025.0'
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Set file base name (Windows_intel)
|
||||
id: set-file-base
|
||||
@@ -599,9 +608,10 @@ jobs:
|
||||
version: '2025.0'
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Set file base name (Linux_intel)
|
||||
id: set-file-base
|
||||
@@ -708,11 +718,12 @@ jobs:
|
||||
clang -v
|
||||
|
||||
- name: Install CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmake-version: '3.31.6'
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: check cmake version
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
|
||||
@@ -43,6 +43,7 @@ jobs:
|
||||
name: "CMake Debug Concurrency Workflows"
|
||||
uses: ./.github/workflows/main-cmake.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
concurrent: "CC"
|
||||
thread_safety: ""
|
||||
build_mode: "Debug"
|
||||
@@ -51,6 +52,7 @@ jobs:
|
||||
name: "CMake Release Concurrency Workflows"
|
||||
uses: ./.github/workflows/main-cmake.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
concurrent: "CC"
|
||||
thread_safety: ""
|
||||
build_mode: "Release"
|
||||
@@ -59,6 +61,7 @@ jobs:
|
||||
name: "CMake Debug Thread-Safety Workflows"
|
||||
uses: ./.github/workflows/main-cmake.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
concurrent: ""
|
||||
thread_safety: "TS"
|
||||
build_mode: "Debug"
|
||||
@@ -67,6 +70,7 @@ jobs:
|
||||
name: "CMake Release Thread-Safety Workflows"
|
||||
uses: ./.github/workflows/main-cmake.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
concurrent: ""
|
||||
thread_safety: "TS"
|
||||
build_mode: "Release"
|
||||
@@ -75,6 +79,7 @@ jobs:
|
||||
name: "CMake Debug Workflows"
|
||||
uses: ./.github/workflows/main-cmake.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
concurrent: ""
|
||||
thread_safety: ""
|
||||
build_mode: "Debug"
|
||||
@@ -83,6 +88,26 @@ jobs:
|
||||
name: "CMake Release Workflows"
|
||||
uses: ./.github/workflows/main-cmake.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
concurrent: ""
|
||||
thread_safety: ""
|
||||
build_mode: "Release"
|
||||
save_binary: "std"
|
||||
|
||||
call-release-cmake4:
|
||||
name: "CMake4 Release Workflows"
|
||||
uses: ./.github/workflows/main-cmake.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
concurrent: ""
|
||||
thread_safety: ""
|
||||
build_mode: "Release"
|
||||
|
||||
call-release-cmakeMin:
|
||||
name: "CMake Minimum Release Workflows"
|
||||
uses: ./.github/workflows/main-cmake.yml
|
||||
with:
|
||||
cmake_version: "3.26.0"
|
||||
concurrent: ""
|
||||
thread_safety: ""
|
||||
build_mode: "Release"
|
||||
@@ -91,18 +116,30 @@ jobs:
|
||||
name: "CMake arm64 Workflows"
|
||||
uses: ./.github/workflows/arm-main-cmake.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
concurrent: ""
|
||||
thread_safety: ""
|
||||
build_mode: "Release"
|
||||
save_binary: "arm64"
|
||||
|
||||
call-debug-arm64-cmake:
|
||||
name: "CMake arm64 Workflows"
|
||||
uses: ./.github/workflows/arm-main-cmake.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
concurrent: ""
|
||||
thread_safety: ""
|
||||
build_mode: "Debug"
|
||||
|
||||
call-arm64-cmake4:
|
||||
name: "CMake4 arm64 Workflows"
|
||||
uses: ./.github/workflows/arm-main-cmake.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
concurrent: ""
|
||||
thread_safety: ""
|
||||
build_mode: "Release"
|
||||
|
||||
call-release-bintest:
|
||||
name: "CMake Test Release Binaries"
|
||||
needs: call-release-cmake
|
||||
|
||||
@@ -92,6 +92,7 @@ jobs:
|
||||
needs: [get-old-names, call-workflow-tarball, call-aws-c-s3-build]
|
||||
uses: ./.github/workflows/cmake-script.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
file_base: ${{ needs.call-workflow-tarball.outputs.file_base }}
|
||||
use_environ: snapshots
|
||||
if: ${{ ((needs.call-workflow-tarball.outputs.has_changes == 'true') || (needs.get-old-names.outputs.run-ignore == 'ignore')) }}
|
||||
@@ -100,6 +101,7 @@ jobs:
|
||||
needs: [get-old-names, call-workflow-tarball]
|
||||
uses: ./.github/workflows/cmake-par-script.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
file_base: ${{ needs.call-workflow-tarball.outputs.file_base }}
|
||||
use_environ: snapshots
|
||||
build_mode: "Release"
|
||||
@@ -109,6 +111,7 @@ jobs:
|
||||
needs: [get-old-names, call-workflow-tarball]
|
||||
uses: ./.github/workflows/cmake-par-source.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
file_base: ${{ needs.call-workflow-tarball.outputs.file_base }}
|
||||
use_environ: snapshots
|
||||
build_mode: "Release"
|
||||
@@ -134,6 +137,7 @@ jobs:
|
||||
needs: [get-old-names, call-workflow-tarball, call-aws-c-s3-build]
|
||||
uses: ./.github/workflows/cmake-ctest.yml
|
||||
with:
|
||||
cmake_version: 'latest'
|
||||
preset_name: ci-StdShar
|
||||
file_base: ${{ needs.call-workflow-tarball.outputs.file_base }}
|
||||
# use_tag: snapshot
|
||||
|
||||
@@ -108,7 +108,7 @@ jobs:
|
||||
- name: Enable Developer Command Prompt
|
||||
uses: ilammy/msvc-dev-cmd@v1.13.0
|
||||
|
||||
- name: check cmake version
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
@@ -181,13 +181,13 @@ jobs:
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: check clang version
|
||||
- name: Check Clang Version
|
||||
shell: bash
|
||||
run: |
|
||||
which clang
|
||||
clang -v
|
||||
|
||||
- name: check cmake version
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
@@ -272,13 +272,13 @@ jobs:
|
||||
env: true
|
||||
version: '18.1'
|
||||
|
||||
- name: check clang version
|
||||
- name: Check Clang Version
|
||||
shell: bash
|
||||
run: |
|
||||
which clang
|
||||
clang -v
|
||||
|
||||
- name: check cmake version
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
|
||||
@@ -654,53 +654,3 @@ jobs:
|
||||
run: cmake --build . --parallel 3 --config Release
|
||||
working-directory: ${{ runner.workspace }}/build
|
||||
|
||||
test-cmake-minimum:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- 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
|
||||
echo "CC=gcc-12" >> $GITHUB_ENV
|
||||
echo "CXX=g++-12" >> $GITHUB_ENV
|
||||
echo "FC=gfortran-12" >> $GITHUB_ENV
|
||||
|
||||
- uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmakeVersion: 3.18
|
||||
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- name: Get Sources
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
# CMAKE CONFIGURE
|
||||
- name: CMake Configure
|
||||
run: |
|
||||
mkdir "${{ runner.workspace }}/build"
|
||||
cd "${{ runner.workspace }}/build"
|
||||
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
|
||||
-G Ninja \
|
||||
--log-level=VERBOSE \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DHDF5_ENABLE_ALL_WARNINGS=ON \
|
||||
-DHDF5_ENABLE_WARNINGS_AS_ERRORS=ON \
|
||||
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
|
||||
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
|
||||
-DHDF5_BUILD_FORTRAN=OFF \
|
||||
-DHDF5_BUILD_JAVA=ON \
|
||||
-DHDF5_BUILD_DOC=OFF \
|
||||
-DLIBAEC_USE_LOCALCONTENT=OFF \
|
||||
-DZLIB_USE_LOCALCONTENT=OFF \
|
||||
-DHDF5_ENABLE_MIRROR_VFD:BOOL=ON \
|
||||
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
|
||||
$GITHUB_WORKSPACE
|
||||
shell: bash
|
||||
|
||||
# BUILD
|
||||
- name: CMake Build
|
||||
run: cmake --build . --parallel 3 --config Release
|
||||
working-directory: ${{ runner.workspace }}/build
|
||||
|
||||
|
||||
@@ -4,6 +4,10 @@ name: hdf5 dev CMake CI
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
cmake_version:
|
||||
description: "3.26.0 or later, latest"
|
||||
required: true
|
||||
type: string
|
||||
thread_safety:
|
||||
description: "TS or empty"
|
||||
required: true
|
||||
@@ -16,6 +20,11 @@ on:
|
||||
description: "release vs. debug build"
|
||||
required: true
|
||||
type: string
|
||||
save_binary:
|
||||
description: "binary-ext-name or missing"
|
||||
required: false
|
||||
default: "skip"
|
||||
type: string
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -138,6 +147,18 @@ jobs:
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
cmake --version
|
||||
|
||||
- name: Set environment for MSVC (Windows)
|
||||
run: |
|
||||
# Set these environment variables so CMake picks the correct compiler
|
||||
@@ -270,7 +291,7 @@ jobs:
|
||||
name: zip-vs2022_cl-${{ inputs.build_mode }}-binary
|
||||
path: ${{ runner.workspace }}/build/HDF5-*-win64.zip
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
if: ${{ (matrix.ostype == 'windows') && (inputs.thread_safety != 'TS') && (inputs.concurrent != 'CC') && ( inputs.build_mode != 'Debug') }}
|
||||
if: ${{ (matrix.ostype == 'windows') && ( inputs.save_binary != 'skip') }}
|
||||
|
||||
- name: Save published binary (linux)
|
||||
uses: actions/upload-artifact@v4
|
||||
@@ -278,7 +299,7 @@ jobs:
|
||||
name: tgz-ubuntu-2404_gcc-${{ inputs.build_mode }}-binary
|
||||
path: ${{ runner.workspace }}/build/HDF5-*-Linux.tar.gz
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
if: ${{ (matrix.ostype == 'ubuntu') && (inputs.thread_safety != 'TS') && (inputs.concurrent != 'CC') && ( inputs.build_mode != 'Debug') }}
|
||||
if: ${{ (matrix.ostype == 'ubuntu') && ( inputs.save_binary != 'skip') }}
|
||||
|
||||
- name: Save published binary (Mac_latest)
|
||||
uses: actions/upload-artifact@v4
|
||||
@@ -286,7 +307,7 @@ jobs:
|
||||
name: tgz-macos14_clang-${{ inputs.build_mode }}-binary
|
||||
path: ${{ runner.workspace }}/build/HDF5-*-Darwin.tar.gz
|
||||
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
if: ${{ (matrix.ostype == 'macos') && (inputs.thread_safety != 'TS') && (inputs.concurrent != 'CC') && ( inputs.build_mode != 'Debug') }}
|
||||
if: ${{ (matrix.ostype == 'macos') && ( inputs.save_binary != 'skip') }}
|
||||
|
||||
|
||||
# A workflow that builds the library and runs all the tests
|
||||
@@ -399,6 +420,18 @@ jobs:
|
||||
with:
|
||||
version: "1.13.2"
|
||||
|
||||
- name: Install CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
with:
|
||||
cmakeVersion: ${{ inputs.cmake_version }}
|
||||
ninjaVersion: latest
|
||||
|
||||
- name: Check CMake Version
|
||||
shell: bash
|
||||
run: |
|
||||
which cmake
|
||||
cmake --version
|
||||
|
||||
- name: Set environment for MSVC (Windows)
|
||||
run: |
|
||||
# Set these environment variables so CMake picks the correct compiler
|
||||
|
||||
@@ -36,6 +36,7 @@ jobs:
|
||||
needs: call-workflow-tarball
|
||||
uses: ./.github/workflows/cmake-ctest.yml
|
||||
with:
|
||||
cmake_version: "latest"
|
||||
preset_name: ci-StdShar
|
||||
file_base: ${{ needs.call-workflow-tarball.outputs.file_base }}
|
||||
snap_name: hdf5-${{ needs.call-workflow-tarball.outputs.source_base }}
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@
|
||||
# See comments throughout this file for details on configuration variables and options.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5 C)
|
||||
|
||||
if (POLICY CMP0074)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_C C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_C_H5D C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_C_H5FLT C)
|
||||
|
||||
set (dyn_examples)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_C_H5G C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (H5PAR_C C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_C_H5T C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_C_H5VDS C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_C_HL C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_C_PERFORM C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_C_TUTR C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# The option naming convention is H5EX_* for examples options and HDF5_* for HDF5
|
||||
# library features.
|
||||
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (H5EXAMPLES C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDFCXX_EXAMPLES CXX)
|
||||
|
||||
add_subdirectory (H5D)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_CXX_H5D CXX)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_CXX_HL CXX)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_CXX_TUTR CXX)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
PROJECT (HDF5Examples_F90 Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_FORTRAN_H5D Fortran)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_FORTRAN_H5G Fortran)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_FORTRAN_H5PAR Fortran)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_FORTRAN_H5T Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_FORTRAN_HL Fortran)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_FORTRAN_TUTR Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDFJAVA_EXAMPLES Java)
|
||||
|
||||
set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_JAVA_H5D Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_JAVA_GROUPS Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_JAVA_H5T Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_JAVA_TUTR Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5Examples_PYTHON)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -28,8 +28,7 @@ I. Preconditions
|
||||
|
||||
1. We suggest you obtain the latest CMake from the Kitware
|
||||
web site. The HDF5 product requires a minimum CMake version
|
||||
of 3.18. If you are using VS2022, the minimum CMake version is 3.21.
|
||||
CMakePresets.json, requires CMake 3.25 or higher.
|
||||
of 3.26.
|
||||
|
||||
2. You have installed the HDF5 library built with CMake, by executing
|
||||
the HDF Install Utility (the *.msi file in the binary package for
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_CPP CXX)
|
||||
|
||||
add_subdirectory (src)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# This file sets up the build, formatting, and installation rules for the HDF5 C++ library (static/shared).
|
||||
# It handles C++ source/header definitions, compiler options, linking, export, and pkg-config file generation for the HDF5 C++ API.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_CPP_SRC CXX)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# It handles C++ test source grouping, test executable creation, compiler options, linking, and integration with the HDF5 C++ and core libraries.
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_CPP_TEST CXX)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (LIBAEC C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
set (CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
|
||||
project (ZLIB C)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
|
||||
project(
|
||||
ZLIB
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
########################################################
|
||||
# For any comments please contact help@hdfgroup.org
|
||||
#
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
### ctest -S HDF5config.cmake,BUILD_GENERATOR=VS202264 -C Release -VV -O hdf5.log ###
|
||||
#############################################################################################
|
||||
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
############################################################################
|
||||
# Usage:
|
||||
# ctest -S HDF5config.cmake,OPTION=VALUE -C Release -VV -O test.log
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
########################################################
|
||||
# For any comments please contact help@hdfgroup.org
|
||||
#
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
###############################################################################################################
|
||||
# This script will build and run the examples from a folder
|
||||
# Execute from a command line:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_DOXYGEN C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -11,7 +11,7 @@ You want to build HDF5 with CMake, but there are so many options to consider.
|
||||
\par Solution
|
||||
CMake introduced presets in version 3.19. HDF Group provides a
|
||||
<a href="https://\SRCURL/CMakePresets.json"><tt>CMakePresets.json</tt></a>,
|
||||
requiring CMake 3.25 or higher,
|
||||
requiring CMake 3.26,
|
||||
that will build HDF5 with the options for building a typical shared library with
|
||||
the common languages for a platform. The features include building the tools, examples,
|
||||
plugins, and the shared and static libraries.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_F90 C Fortran)
|
||||
|
||||
message (VERBOSE "Fortran compiler ID is ${CMAKE_Fortran_COMPILER_ID}")
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# It handles Fortran and C source/header definitions, compiler options, module generation, linking, export,
|
||||
# and pkg-config file generation for the HDF5 Fortran API.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_F90_SRC C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# It handles Fortran and C test source grouping, test library and executable creation, compiler options, module management,
|
||||
# linking, and integration with the HDF5 Fortran and core libraries.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_FORTRAN_TESTS C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# It handles Fortran and C test source grouping, test executable creation, compiler options, module management,
|
||||
# linking, and integration with the HDF5 Fortran and core libraries for parallel HDF5 testing.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_FORTRAN_TESTPAR C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_HL C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_HL_CPP CXX)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# This file sets up the build, formatting, and installation rules for the HDF5 HL C++ library (static/shared).
|
||||
# It handles HL C++ source/header definitions, compiler options, linking, export, pkg-config file generation, and integration with the HDF5 HL and core libraries.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_HL_CPP_SRC CXX)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# This file sets up the build, formatting, and test execution rules for the HDF5 HL C++ test suite.
|
||||
# It handles HL C++ test source grouping, test executable creation, compiler options, linking, and integration with the HDF5 HL, HL C++, and core libraries.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_HL_CPP_TEST CXX)
|
||||
|
||||
add_executable (hl_ptableTest ${HDF5_HL_CPP_TEST_SOURCE_DIR}/ptableTest.cpp)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_HL_F90 C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# This file sets up the build, formatting, and installation rules for the HDF5 HL Fortran library (static/shared).
|
||||
# It handles HL Fortran and C source/header definitions, compiler options, module generation, linking, export, pkg-config file generation, and integration with the HDF5 HL and core libraries.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_HL_F90_SRC C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# It handles HL Fortran and C test source grouping, test executable creation, compiler options, module management,
|
||||
# linking, and integration with the HDF5 HL Fortran, HL, and core libraries.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_HL_FORTRAN_TESTS C Fortran)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# It handles HL C source/header definitions, compiler options, linking, export, pkg-config file generation, and optional documentation for the HDF5 HL API.
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_HL_SRC C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# This file sets up the build, formatting, and test execution rules for the HDF5 HL test suite.
|
||||
# It handles HL C test source grouping, test executable creation, compiler options, linking, and integration with the HDF5 HL and core libraries.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_HL_TEST C)
|
||||
# --------------------------------------------------------------------
|
||||
# Notes: When creating unit test executables they should be prefixed
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_HL_TOOLS C)
|
||||
|
||||
add_subdirectory (h5watch)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# It handles HL tool source grouping, test program creation, compiler options, linking, export, and integration with the HDF5 HL and core libraries.
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_HL_TOOLS_H5WATCH C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_JAVA C Java)
|
||||
|
||||
set (CMAKE_MODULE_PATH "${HDF_CONFIG_DIR} ${HDF_RESOURCES_DIR}")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_JAVA_SRC C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_JAVA_HDF C)
|
||||
|
||||
add_subdirectory (hdf5lib)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# It handles Java source grouping, JAR creation, JNI dependencies, and formatting for the HDF5 Java bindings.
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_JAVA_HDF_HDF5 Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# It handles JNI C/C++ source and header definitions, compiler options, linking, export, and integration with the HDF5 shared library for Java bindings.
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_JAVA_JNI C)
|
||||
|
||||
set (HDF5_JAVA_JNI_CSRCS
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# and integration with the HDF5 Java JNI and core libraries.
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_JAVA_TEST Java)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||
|
||||
@@ -44,9 +44,7 @@ Obtaining HDF5 source code
|
||||
|
||||
CMake version
|
||||
1. We suggest you obtain the latest CMake from the Kitware web site.
|
||||
The HDF5 2."X"."Y" product requires a minimum CMake version 3.18,
|
||||
where "X"."Y" is the current HDF5 release version. If you are using
|
||||
VS2022, the minimum version is 3.21. CMakePresets requires CMake 3.25.
|
||||
The HDF5 2."X"."Y" product requires a minimum CMake version 3.26.
|
||||
|
||||
Note:
|
||||
To change the install prefix from the platform defaults initialize
|
||||
@@ -1117,7 +1115,7 @@ Quick Start Presets
|
||||
Solution
|
||||
-------------------------------
|
||||
CMake introduced presets in version 3.19. HDF Group provides a file in the source,
|
||||
CMakePresets.json, requiring CMake 3.25 or higher, that will build HDF5 with the
|
||||
CMakePresets.json, that will build HDF5 with the
|
||||
options for building a typical shared library with the common languages for a
|
||||
platform. The features include building the tools, examples, plugins, and the
|
||||
shared and static libraries.
|
||||
|
||||
@@ -47,6 +47,11 @@ New Features
|
||||
|
||||
Configuration:
|
||||
-------------
|
||||
- CMake minimum version is now 3.26
|
||||
|
||||
The minimum version of CMake is now 3.26, this will remove workarounds to handle
|
||||
versions between 3.18 (previous minimum) and 3.26.
|
||||
|
||||
- Removed HDF5_ENABLE_THREADS option
|
||||
|
||||
The HDF5_ENABLE_THREADS option has been removed, as it no longer functions
|
||||
|
||||
@@ -29,8 +29,7 @@ I. Preconditions
|
||||
|
||||
1. We suggest you obtain the latest CMake for your platform from the Kitware
|
||||
web site. The HDF5 z.y.x product requires a minimum CMake version
|
||||
of 3.18. If you are using VS2022, the minimum CMake version is 3.21.
|
||||
CMakePresets.json, requires CMake 3.25 or higher.
|
||||
of 3.26.
|
||||
|
||||
2. You have installed the HDF5 library built with CMake, by executing
|
||||
the HDF Install Utility (the *.msi file in the binary package for
|
||||
|
||||
@@ -33,8 +33,7 @@ I. Preconditions
|
||||
|
||||
1. We suggest you obtain the latest CMake for your platform from the Kitware
|
||||
web site. The HDF5 z.y.x product requires a minimum CMake version
|
||||
of 3.18. If you are using VS2022, the minimum CMake version is 3.21.
|
||||
CMakePresets.json, requires CMake 3.25 or higher.
|
||||
of 3.26.
|
||||
|
||||
2. You have installed the HDF5 library built with CMake, by executing
|
||||
the HDF Install Utility (the *.msi file in the binary package for
|
||||
@@ -194,7 +193,7 @@ Given the preconditions in section I, create a CMakeLists.txt file at the
|
||||
source root. Include the following text in the file:
|
||||
|
||||
##########################################################
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5MyApp C)
|
||||
|
||||
set (LIB_TYPE STATIC) # or SHARED
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
# It organizes source and header files for each module, sets up build targets,
|
||||
# manages installation, pkg-config, and documentation generation.
|
||||
# -----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_SRC C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_H5FD_SUBFILING C)
|
||||
|
||||
# Sanity checking
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TEST_API C)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project(H5_API_TEST_DRIVER CXX)
|
||||
|
||||
if (NOT KWSYS_USE_LOCALCONTENT)
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
# test plugins, and all test executables. It handles source/header definitions, compiler options, linking,
|
||||
# export, and test configuration for the HDF5 test suite, including plugin, VFD, VOL, SWMR, and use case tests.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TEST C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TEST_PAR_API C)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# This file sets up the build, formatting, and installation rules for the HDF5 parallel test library (static/shared) and its test executables.
|
||||
# It handles source/header definitions, compiler options, linking, export, and test configuration for parallel HDF5 testing.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TEST_PAR C)
|
||||
|
||||
#################################################################################
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS C)
|
||||
|
||||
add_subdirectory (lib)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# This file sets up the build, formatting, and installation rules for the HDF5 tools library (static and shared).
|
||||
# It handles source/header definitions, compiler options, linking, and export for the HDF5 tools suite.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_LIB C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# This file sets up the build, formatting, and test configuration for the h5tools_test_utils executable.
|
||||
# It handles compiler options, linking, and export for the HDF5 tools test suite.
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_LIBTEST C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC C)
|
||||
|
||||
#-- Add the h5diff and test executables
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC_H5COPY C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC_H5DIFF C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC_H5DUMP C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC_H5FC C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC_H5IMPORT C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC_H5JAM C)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC_H5LS C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC_H5PERF C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC_H5REPACK C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC_H5STAT C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.18)
|
||||
cmake_minimum_required (VERSION 3.26)
|
||||
project (HDF5_TOOLS_SRC_MISC C)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user