Skip to content

Commit 0726ff0

Browse files
committed
Merge origin/develop: use extract_lib_pkgconfig_info for pkg-config
Replace the custom resolve_imported_target() function with the upstream extract_lib_pkgconfig_info() utility introduced in develop. The new approach also covers LINK_COMP_LIBS in addition to LINK_LIBS.
2 parents 3461f17 + 33510a5 commit 0726ff0

106 files changed

Lines changed: 1138 additions & 993 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/aocc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
5757
- name: Cache OpenMPI ${{ env.MPIVERDOT }} installation
5858
id: cache-openmpi-5_0_7
59-
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
59+
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
6060
with:
6161
path: /home/runner/work/hdf5/hdf5/openmpi-${{ env.MPIVERDOT }}-install
6262
key: ${{ runner.os }}-${{ runner.arch }}-openmpi-5_0_7-cache

.github/workflows/arm-main.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
uses: ./.github/actions/setup-doxygen
4949

5050
- name: Install CMake
51-
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
51+
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
5252
with:
5353
cmakeVersion: ${{ inputs.cmake_version }}
5454
ninjaVersion: latest
@@ -164,7 +164,7 @@ jobs:
164164
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v5
165165
with:
166166
name: zip-vs2022_cl-${{ inputs.build_mode }}-${{ inputs.save_binary }}-binary
167-
path: ${{ runner.workspace }}/build/HDF5-*-win64.zip
167+
path: ${{ runner.workspace }}/build/HDF5-*-winarm64.zip
168168
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
169169
if: ${{ (inputs.thread_safety != 'TS') && (inputs.concurrent != 'CC') && ( inputs.save_binary != 'skip') }}
170170

@@ -292,7 +292,7 @@ jobs:
292292
run: brew install ninja curl
293293

294294
- name: Install CMake
295-
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
295+
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
296296
with:
297297
cmakeVersion: ${{ inputs.cmake_version }}
298298
ninjaVersion: latest

.github/workflows/build-aws-c-s3.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
steps:
2929
- name: Check if 'libaws-c-s3-${{ inputs.build_mode }}' exists
3030
id: check_artifact
31-
uses: softwareforgood/check-artifact-v4-existence@9772fb919376f476e208587e99db557f956a2276 # v0
31+
uses: softwareforgood/check-artifact-v4-existence@3bbed0d010832929f3e2c1e9ff75e0f09a35bcf1 # v0
3232
with:
3333
name: libaws-c-s3-${{ inputs.build_mode }}
3434

@@ -78,7 +78,7 @@ jobs:
7878
7979
- name: Cache/Restore aws-c-s3 (GCC) installation
8080
id: cache-aws-c-s3-ubuntu-gcc
81-
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
81+
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
8282
with:
8383
path: ${{ runner.workspace }}/aws-c-s3-build
8484
key: ${{ runner.os }}-${{ runner.arch }}-gcc-aws-c-s3-${{ steps.get-sha.outputs.sha }}-${{ inputs.build_mode }}

.github/workflows/build_mpich_source.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
5050
- name: Cache MPICH (GCC) installation
5151
id: cache-mpich-ubuntu-gcc
52-
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
52+
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
5353
with:
5454
path: ${{ runner.workspace }}/mpich
5555
key: ${{ runner.os }}-${{ runner.arch }}-gcc-mpich-${{ steps.get-sha.outputs.sha }}-${{ inputs.build_mode }}

.github/workflows/build_openmpi_source.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
5050
- name: Cache OpenMPI (GCC) installation
5151
id: cache-openmpi-ubuntu-gcc
52-
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v4
52+
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v4
5353
with:
5454
path: ${{ runner.workspace }}/openmpi
5555
key: ${{ runner.os }}-${{ runner.arch }}-gcc-openmpi-${{ steps.get-sha.outputs.sha }}-${{ inputs.build_mode }}

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
..
5959
6060
- name: Initialize CodeQL
61-
uses: github/codeql-action/init@v4
61+
uses: github/codeql-action/init@v4.32.2
6262
with:
6363
languages: c-cpp
6464
build-mode: manual
@@ -78,7 +78,7 @@ jobs:
7878
shell: bash
7979

8080
- name: Perform CodeQL Analysis
81-
uses: github/codeql-action/analyze@v4
81+
uses: github/codeql-action/analyze@v4.32.2
8282
with:
8383
category: "/language:c-cpp"
8484
output: sarif-results
@@ -95,6 +95,6 @@ jobs:
9595
output: sarif-results/cpp.sarif
9696

9797
- name: Upload SARIF
98-
uses: github/codeql-action/upload-sarif@v4
98+
uses: github/codeql-action/upload-sarif@v4.32.2
9999
with:
100100
sarif_file: sarif-results/cpp.sarif

.github/workflows/cross-compile.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ jobs:
5656
-G Ninja \
5757
--log-level=VERBOSE \
5858
-DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/mingw64.cmake \
59+
-DCMAKE_CROSSCOMPILING_EMULATOR:PATH=$GITHUB_WORKSPACE/config/toolchain/mingw-w64-x86-64-wine.sh \
5960
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
6061
-DHDF5_ENABLE_DOXY_WARNINGS:BOOL=ON \
6162
-DHDF5_BUILD_DOC:BOOL=ON \

.github/workflows/ctest.yml

Lines changed: 189 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ jobs:
9494
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
9595

9696
- name: Install CMake
97-
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
97+
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
9898
with:
9999
cmakeVersion: ${{ inputs.cmake_version }}
100100
ninjaVersion: latest
@@ -174,7 +174,7 @@ jobs:
174174
shell: bash
175175

176176
- name: Sign files with Trusted Signing
177-
uses: azure/trusted-signing-action@1d365fec12862c4aa68fcac418143d73f0cea293 # v0.5.11
177+
uses: azure/trusted-signing-action@87c2e83e6868da99d3380aa309851b32ed9a8346 # v1.1.0
178178
with:
179179
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
180180
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
@@ -229,6 +229,178 @@ jobs:
229229
path: ${{ runner.workspace }}/buildmsi/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl.msi
230230
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
231231

232+
build_and_test_win_arm64:
233+
# Windows ARM64 w/ MSVC (Native)
234+
#
235+
name: "Windows MSVC ARM64 CTest"
236+
runs-on: windows-11-arm
237+
needs: [check-secret]
238+
steps:
239+
- name: Install Dependencies (Windows ARM64)
240+
run: choco install ninja
241+
242+
- name: Get Sources
243+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
244+
245+
- name: Setup Doxygen
246+
uses: ./.github/actions/setup-doxygen
247+
248+
- name: Enable Developer Command Prompt
249+
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
250+
with:
251+
arch: arm64
252+
253+
- name: Install CMake
254+
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
255+
with:
256+
cmakeVersion: ${{ inputs.cmake_version }}
257+
ninjaVersion: latest
258+
259+
- name: Check CMake Version
260+
shell: bash
261+
run: |
262+
which cmake
263+
cmake --version
264+
265+
- name: Set up JDK 21
266+
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5
267+
with:
268+
java-version: '21'
269+
distribution: 'temurin'
270+
architecture: 'aarch64'
271+
272+
- name: Set environment for MSVC ARM64 (Windows)
273+
run: |
274+
echo "CXX=cl.exe" >> $GITHUB_ENV
275+
echo "CC=cl.exe" >> $GITHUB_ENV
276+
shell: bash
277+
278+
- name: Set file base name (Windows ARM64)
279+
id: set-file-base
280+
run: |
281+
FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
282+
echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
283+
if [[ '${{ inputs.use_environ }}' == 'release' ]]
284+
then
285+
SOURCE_NAME_BASE=$(echo "${{ inputs.snap_name }}")
286+
else
287+
SOURCE_NAME_BASE=$(echo "hdfsrc")
288+
fi
289+
echo "SOURCE_BASE=$SOURCE_NAME_BASE" >> $GITHUB_OUTPUT
290+
shell: bash
291+
292+
# Get files created by release script
293+
- name: Get zip-tarball (Windows ARM64)
294+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v6
295+
with:
296+
name: zip-tarball
297+
path: ${{ github.workspace }}
298+
299+
- name: using powershell
300+
shell: pwsh
301+
run: Get-Location
302+
303+
- name: List files for the space (Windows ARM64)
304+
run: |
305+
Get-ChildItem -Path ${{ github.workspace }}
306+
Get-ChildItem -Path ${{ runner.workspace }}
307+
shell: pwsh
308+
309+
- name: Uncompress source (Windows ARM64)
310+
working-directory: ${{ github.workspace }}
311+
run: 7z x ${{ steps.set-file-base.outputs.FILE_BASE }}.zip
312+
shell: bash
313+
314+
- name: Install TrustedSigning (Windows ARM64)
315+
run: |
316+
Invoke-WebRequest -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile .\nuget.exe
317+
.\nuget.exe install Microsoft.Windows.SDK.BuildTools -Version 10.0.22621.3233 -x
318+
.\nuget.exe install Microsoft.Trusted.Signing.Client -Version 1.0.86 -x
319+
shell: pwsh
320+
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
321+
322+
- name: create-json
323+
id: create-json
324+
uses: jsdaniell/create-json@b8e77fa01397ca39cc4a6198cc29a3be5481afef # v1.2.3
325+
with:
326+
name: "credentials.json"
327+
dir: '${{ steps.set-file-base.outputs.SOURCE_BASE }}'
328+
json: '{"Endpoint": "${{ secrets.AZURE_ENDPOINT }}","CodeSigningAccountName": "${{ secrets.AZURE_CODE_SIGNING_NAME }}","CertificateProfileName": "${{ secrets.AZURE_CERT_PROFILE_NAME }}"}'
329+
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
330+
331+
- name: Install WiX v3.14
332+
run: |
333+
Invoke-WebRequest -Uri https://github.com/wixtoolset/wix3/releases/download/wix3141rtm/wix314-binaries.zip -OutFile wix314-binaries.zip
334+
Expand-Archive -Path wix314-binaries.zip -DestinationPath C:\wix314
335+
echo "C:\wix314" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
336+
echo "WIX=C:\wix314" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
337+
shell: pwsh
338+
339+
- name: Run CTest (Windows ARM64)
340+
env:
341+
BINSIGN: ${{ needs.check-secret.outputs.sign-state }}
342+
SIGNTOOLDIR: ${{ github.workspace }}/Microsoft.Windows.SDK.BuildTools/bin/10.0.22621.0/arm64
343+
run: |
344+
cd "${{ runner.workspace }}/hdf5/${{ steps.set-file-base.outputs.SOURCE_BASE }}"
345+
cmake --workflow --preset=${{ inputs.preset_name }}-MSVC-ARM64 --fresh
346+
shell: bash
347+
348+
- name: Sign files with Trusted Signing
349+
uses: azure/trusted-signing-action@1d365fec12862c4aa68fcac418143d73f0cea293 # v0.5.11
350+
with:
351+
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
352+
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
353+
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
354+
endpoint: ${{ secrets.AZURE_ENDPOINT }}
355+
trusted-signing-account-name: ${{ secrets.AZURE_CODE_SIGNING_NAME }}
356+
certificate-profile-name: ${{ secrets.AZURE_CERT_PROFILE_NAME }}
357+
files-folder: ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-MSVC-ARM64
358+
files-folder-filter: msi
359+
file-digest: SHA256
360+
timestamp-rfc3161: http://timestamp.acs.microsoft.com
361+
timestamp-digest: SHA256
362+
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
363+
364+
- name: Publish binary (Windows ARM64)
365+
id: publish-ctest-binary
366+
run: |
367+
mkdir "${{ runner.workspace }}/build"
368+
mkdir "${{ runner.workspace }}/build/hdf5"
369+
Copy-Item -Path ${{ runner.workspace }}/hdf5/${{ steps.set-file-base.outputs.SOURCE_BASE }}/LICENSE -Destination ${{ runner.workspace }}/build/hdf5/
370+
Copy-Item -Path ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-MSVC-ARM64/README.md -Destination ${{ runner.workspace }}/build/hdf5/
371+
Copy-Item -Path ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-MSVC-ARM64/* -Destination ${{ runner.workspace }}/build/hdf5/ -Include *.zip
372+
cd "${{ runner.workspace }}/build"
373+
7z a -tzip ${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl_arm64.zip hdf5
374+
shell: pwsh
375+
376+
- name: Publish msi binary (Windows ARM64)
377+
id: publish-ctest-msi-binary
378+
run: |
379+
mkdir "${{ runner.workspace }}/buildmsi"
380+
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
381+
shell: pwsh
382+
383+
- name: List files in the space (Windows ARM64)
384+
run: |
385+
Get-ChildItem -Path ${{ github.workspace }}
386+
Get-ChildItem -Path ${{ runner.workspace }}
387+
shell: pwsh
388+
389+
# Save files created by CTest script
390+
- name: Save published binary (Windows ARM64)
391+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v5
392+
with:
393+
name: zip-vs2022_cl_arm64-binary
394+
path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl_arm64.zip
395+
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
396+
397+
- name: Save published msi binary (Windows ARM64)
398+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v5
399+
with:
400+
name: msi-vs2022_cl_arm64-binary
401+
path: ${{ runner.workspace }}/buildmsi/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl_arm64.msi
402+
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
403+
232404
build_and_test_linux:
233405
# Linux (Ubuntu) w/ gcc
234406
#
@@ -241,8 +413,16 @@ jobs:
241413
sudo apt-get update
242414
sudo apt-get install ninja-build graphviz
243415
416+
- name: Get Actions
417+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
418+
with:
419+
sparse-checkout: .github/actions
420+
421+
- name: Setup Doxygen
422+
uses: ./.github/actions/setup-doxygen
423+
244424
- name: Install CMake
245-
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
425+
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
246426
with:
247427
cmakeVersion: ${{ inputs.cmake_version }}
248428
ninjaVersion: latest
@@ -416,7 +596,7 @@ jobs:
416596
clang -v
417597
418598
- name: Install CMake
419-
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
599+
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
420600
with:
421601
cmakeVersion: ${{ inputs.cmake_version }}
422602
ninjaVersion: latest
@@ -638,7 +818,7 @@ jobs:
638818
sudo apt-get install ninja-build
639819
640820
- name: Install CMake
641-
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
821+
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
642822
with:
643823
cmakeVersion: ${{ inputs.cmake_version }}
644824
ninjaVersion: latest
@@ -740,7 +920,7 @@ jobs:
740920
version: '2025.0'
741921

742922
- name: Install CMake
743-
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
923+
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
744924
with:
745925
cmakeVersion: ${{ inputs.cmake_version }}
746926
ninjaVersion: latest
@@ -811,7 +991,7 @@ jobs:
811991
shell: pwsh
812992

813993
- name: Sign files with Trusted Signing (Windows_intel)
814-
uses: azure/trusted-signing-action@1d365fec12862c4aa68fcac418143d73f0cea293 # v0.5.11
994+
uses: azure/trusted-signing-action@87c2e83e6868da99d3380aa309851b32ed9a8346 # v1.1.0
815995
with:
816996
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
817997
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
@@ -886,7 +1066,7 @@ jobs:
8861066
version: '2025.0'
8871067

8881068
- name: Install CMake
889-
uses: lukka/get-cmake@9e07ecdcee1b12e5037e42f410b67f03e2f626e1 # latest
1069+
uses: lukka/get-cmake@f176ccd3f28bda569c43aae4894f06b2435a3375 # latest
8901070
with:
8911071
cmakeVersion: ${{ inputs.cmake_version }}
8921072
ninjaVersion: latest
@@ -951,4 +1131,4 @@ jobs:
9511131
with:
9521132
name: tgz-ubuntu-2404_intel-binary
9531133
path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2404_intel.tar.gz
954-
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
1134+
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`

.github/workflows/cygwin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
4040

4141
- name: Install Cygwin
42-
uses: cygwin/cygwin-install-action@7d2dc1e241644c3318bed9ec74115d1929baa681 # master
42+
uses: cygwin/cygwin-install-action@2566376092c4e280f21131be027af3f5bb2420a4 # master
4343
with:
4444
packages: cmake gcc-fortran make ninja zlib-devel flex bison perl
4545

.github/workflows/daily-schedule.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
path: ${{ github.workspace }}/${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
4343

4444
- name: Setup AWS CLI
45-
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5
45+
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
4646
with:
4747
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
4848
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

0 commit comments

Comments
 (0)