mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
Behavior:
Modify HDF5UseFortran.cmake to handle cross-compilation by providing default KINDs and sizes when CMAKE_CROSSCOMPILING is true.
Default values for INTEGER and REAL KINDs and their sizes are set when cross-compiling.
Error messages are adjusted to reflect cross-compilation scenarios.
Logic:
Conditional checks added for CMAKE_CROSSCOMPILING to determine if default values should be used.
Default values include INTEGER KINDs {1,2,4,8,16} and REAL KINDs {4,8,10,16}.
Default sizes for native kinds are set to 4 for INTEGER and REAL, and 8 for DOUBLE PRECISION when cross-compiling.
Misc:
Adjustments to verbose messages to indicate when defaults are used during cross-compilation.
219 lines
5.8 KiB
YAML
219 lines
5.8 KiB
YAML
name: hdf5 dev cmake CI
|
|
|
|
# Triggers the workflow on push or pull request or on demand
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
pull_request:
|
|
branches: [ develop ]
|
|
paths-ignore:
|
|
- '.github/CODEOWNERS'
|
|
- '.github/FUNDING.yml'
|
|
- 'doc/**'
|
|
- 'release_docs/**'
|
|
- 'ACKNOWLEDGEMENTS'
|
|
- 'LICENSE**'
|
|
- '**.md'
|
|
|
|
# Using concurrency to cancel any in-progress job or run
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
call-workflow-special-cmake:
|
|
name: "Special Workflows"
|
|
uses: ./.github/workflows/main-spc.yml
|
|
|
|
call-workflow-ros3-cmake:
|
|
name: "ROS3 VFD Workflows"
|
|
uses: ./.github/workflows/vfd-ros3.yml
|
|
with:
|
|
build_mode: "Release"
|
|
build_aws_c_s3_only: false
|
|
aws_c_s3_build_type: "package"
|
|
# Use latest release for building from source on Ubuntu
|
|
# until a package is available to install
|
|
aws_c_s3_tag: "v0.8.0"
|
|
|
|
call-debug-concurrent-cmake:
|
|
name: "Debug Concurrency Workflows"
|
|
uses: ./.github/workflows/main.yml
|
|
with:
|
|
cmake_version: "latest"
|
|
concurrent: "CC"
|
|
thread_safety: ""
|
|
build_mode: "Debug"
|
|
|
|
call-release-concurrent-cmake:
|
|
name: "Release Concurrency Workflows"
|
|
uses: ./.github/workflows/main.yml
|
|
with:
|
|
cmake_version: "latest"
|
|
concurrent: "CC"
|
|
thread_safety: ""
|
|
build_mode: "Release"
|
|
|
|
call-debug-thread-cmake:
|
|
name: "Debug Thread-Safety Workflows"
|
|
uses: ./.github/workflows/main.yml
|
|
with:
|
|
cmake_version: "latest"
|
|
concurrent: ""
|
|
thread_safety: "TS"
|
|
build_mode: "Debug"
|
|
|
|
call-release-thread-cmake:
|
|
name: "Release Thread-Safety Workflows"
|
|
uses: ./.github/workflows/main.yml
|
|
with:
|
|
cmake_version: "latest"
|
|
concurrent: ""
|
|
thread_safety: "TS"
|
|
build_mode: "Release"
|
|
|
|
call-debug-cmake:
|
|
name: "Debug Workflows"
|
|
uses: ./.github/workflows/main.yml
|
|
with:
|
|
cmake_version: "latest"
|
|
concurrent: ""
|
|
thread_safety: ""
|
|
build_mode: "Debug"
|
|
|
|
call-release-cross:
|
|
name: "Release Cross Compile Workflows"
|
|
uses: ./.github/workflows/cross-compile.yml
|
|
with:
|
|
build_mode: "Release"
|
|
|
|
call-release-cmake:
|
|
name: "Release Workflows"
|
|
uses: ./.github/workflows/main.yml
|
|
with:
|
|
cmake_version: "latest"
|
|
concurrent: ""
|
|
thread_safety: ""
|
|
build_mode: "Release"
|
|
save_binary: "std"
|
|
|
|
call-release-cmake4:
|
|
name: "CMake 4 Release Workflows"
|
|
uses: ./.github/workflows/main.yml
|
|
with:
|
|
cmake_version: "latest"
|
|
concurrent: ""
|
|
thread_safety: ""
|
|
build_mode: "Release"
|
|
|
|
call-release-cmakeMin:
|
|
name: "Minimum Release Workflows"
|
|
uses: ./.github/workflows/main.yml
|
|
with:
|
|
cmake_version: "3.26.0"
|
|
concurrent: ""
|
|
thread_safety: ""
|
|
build_mode: "Release"
|
|
|
|
call-arm64-cmake:
|
|
name: "arm64 Workflows"
|
|
uses: ./.github/workflows/arm-main.yml
|
|
with:
|
|
cmake_version: "latest"
|
|
concurrent: ""
|
|
thread_safety: ""
|
|
build_mode: "Release"
|
|
save_binary: "arm64"
|
|
|
|
call-debug-arm64-cmake:
|
|
name: "arm64 Workflows"
|
|
uses: ./.github/workflows/arm-main.yml
|
|
with:
|
|
cmake_version: "latest"
|
|
concurrent: ""
|
|
thread_safety: ""
|
|
build_mode: "Debug"
|
|
|
|
call-arm64-cmake4:
|
|
name: "CMake 4 arm64 Workflows"
|
|
uses: ./.github/workflows/arm-main.yml
|
|
with:
|
|
cmake_version: "latest"
|
|
concurrent: ""
|
|
thread_safety: ""
|
|
build_mode: "Release"
|
|
|
|
call-release-bintest:
|
|
name: "Test Release Binaries"
|
|
needs: call-release-cmake
|
|
uses: ./.github/workflows/bintest.yml
|
|
with:
|
|
build_mode: "Release"
|
|
|
|
call-release-par:
|
|
name: "Parallel Release Workflows"
|
|
uses: ./.github/workflows/main-par.yml
|
|
with:
|
|
build_mode: "Release"
|
|
|
|
call-debug-par:
|
|
name: "Parallel Debug Workflows"
|
|
uses: ./.github/workflows/main-par.yml
|
|
with:
|
|
build_mode: "Debug"
|
|
|
|
call-release-special-par:
|
|
name: "Parallel Release Special Workflows"
|
|
uses: ./.github/workflows/main-par-spc.yml
|
|
with:
|
|
build_mode: "Release"
|
|
|
|
call-debug-special-par:
|
|
name: "Parallel Debug Special Workflows"
|
|
uses: ./.github/workflows/main-par-spc.yml
|
|
with:
|
|
build_mode: "Debug"
|
|
|
|
call-release-cmake-intel:
|
|
name: "Intel Workflows"
|
|
uses: ./.github/workflows/intel.yml
|
|
with:
|
|
build_mode: "Release"
|
|
|
|
call-release-cmake-nvhpc:
|
|
name: "nvhpc Workflows"
|
|
uses: ./.github/workflows/nvhpc.yml
|
|
with:
|
|
build_mode: "Release"
|
|
|
|
call-release-cmake-aocc:
|
|
name: "aocc Workflows"
|
|
uses: ./.github/workflows/aocc.yml
|
|
with:
|
|
build_mode: "Release"
|
|
|
|
call-release-cmake-xpr:
|
|
name: "TestExpress Workflows"
|
|
uses: ./.github/workflows/testxpr.yml
|
|
|
|
# call-release-cmake-julia:
|
|
# name: "Julia Workflows"
|
|
# uses: ./.github/workflows/julia.yml
|
|
# with:
|
|
# build_mode: "Release"
|
|
|
|
call-release-cmake-msys2:
|
|
name: "Msys2 Workflows"
|
|
uses: ./.github/workflows/msys2.yml
|
|
with:
|
|
build_mode: "Release"
|
|
|
|
call-release-cmake-i386:
|
|
name: "i386 Workflows"
|
|
uses: ./.github/workflows/i386.yml
|
|
with:
|
|
build_mode: "Release"
|