11name : Build OpenMS package
2+
23on :
34 workflow_dispatch :
45
@@ -26,18 +27,35 @@ jobs:
2627 cache : ' false'
2728 archives : ' qtsvg qtimageformats qtbase'
2829
29- - name : Locate Qt runtime and add to PATH
30+ - name : Locate Qt runtime and CMake package
3031 shell : pwsh
3132 run : |
3233 $qtCore = Get-ChildItem -Path "$env:RUNNER_WORKSPACE", "$env:RUNNER_TEMP", "C:\Qt" `
3334 -Filter Qt6Core.dll -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1
3435 if (-not $qtCore) {
3536 throw "Qt6Core.dll not found after install-qt-action"
3637 }
38+
3739 $qtBin = $qtCore.Directory.FullName
40+ $qtRoot = Split-Path $qtBin -Parent
41+ $qtCMakeDir = Join-Path $qtRoot "lib\cmake\Qt6"
42+
43+ if (-not (Test-Path (Join-Path $qtBin "Qt6Core.dll"))) {
44+ throw "Qt6Core.dll missing in $qtBin"
45+ }
46+ if (-not (Test-Path $qtCMakeDir)) {
47+ throw "Qt6 CMake package dir not found: $qtCMakeDir"
48+ }
49+
3850 "QT_BIN_DIR=$qtBin" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
51+ "QT_ROOT_DIR=$qtRoot" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
52+ "Qt6_DIR=$qtCMakeDir" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
53+
3954 $qtBin | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
55+
4056 Write-Host "Using Qt bin: $qtBin"
57+ Write-Host "Using Qt root: $qtRoot"
58+ Write-Host "Using Qt6_DIR: $qtCMakeDir"
4159
4260 - name : Set up Visual Studio shell
4361 uses : egor-tensin/vs-shell@v2
@@ -113,9 +131,9 @@ jobs:
113131 - name : Build Windows
114132 shell : bash
115133 run : |
116- mkdir $GITHUB_WORKSPACE/OpenMS/bld/
117- bash OpenMS/tools/ci/capture-env.sh -v $GITHUB_WORKSPACE/OpenMS/bld/CMakeCache.txt
118- ctest --output-on-failure -V -S $GITHUB_WORKSPACE/OpenMS/tools/ci/cibuild.cmake
134+ mkdir -p " $GITHUB_WORKSPACE/OpenMS/bld"
135+ bash OpenMS/tools/ci/capture-env.sh -v " $GITHUB_WORKSPACE/OpenMS/bld/CMakeCache.txt"
136+ ctest --output-on-failure -V -S " $GITHUB_WORKSPACE/OpenMS/tools/ci/cibuild.cmake"
119137 env :
120138 OPENMS_CONTRIB_LIBS : " ${{ github.workspace }}/OpenMS/contrib"
121139 CI_PROVIDER : " GitHub-Actions"
@@ -138,27 +156,36 @@ jobs:
138156 CCACHE_COMPRESS : true
139157 CCACHE_COMPRESSLEVEL : 12
140158 CCACHE_MAXSIZE : 400M
159+ CMAKE_PREFIX_PATH : " ${{ env.QT_ROOT_DIR }}"
160+ Qt6_DIR : " ${{ env.Qt6_DIR }}"
161+ PATH : " ${{ env.QT_BIN_DIR }};${{ github.workspace }}\\ OpenMS\\ contrib\\ lib;${{ env.PATH }}"
141162
142163 - name : Verify runtime DLL visibility before packaging
143164 shell : pwsh
144165 run : |
145166 Write-Host "QT_BIN_DIR=$env:QT_BIN_DIR"
167+ Write-Host "QT_ROOT_DIR=$env:QT_ROOT_DIR"
168+ Write-Host "Qt6_DIR=$env:Qt6_DIR"
169+
146170 if (-not (Test-Path (Join-Path $env:QT_BIN_DIR "Qt6Core.dll"))) {
147171 throw "Qt6Core.dll is not reachable in QT_BIN_DIR"
148172 }
149- Get-Command Qt6Core.dll -ErrorAction SilentlyContinue | Format-List *
173+
174+ Get-ChildItem "$env:QT_BIN_DIR" | Where-Object { $_.Name -like "Qt6*.dll" } | Select-Object Name
150175
151176 - name : Package
152177 shell : bash
153178 run : |
154- ctest --output-on-failure -V -S $GITHUB_WORKSPACE/OpenMS/tools/ci/cipackage.cmake
179+ ctest --output-on-failure -V -S " $GITHUB_WORKSPACE/OpenMS/tools/ci/cipackage.cmake"
155180 env :
156181 SOURCE_DIRECTORY : " ${{ github.workspace }}/OpenMS"
157182 PACKAGE_TYPE : zip
158183 SEARCH_ENGINES_DIRECTORY : " ${{ github.workspace }}/_thirdparty"
159184 CI_PROVIDER : " GitHub-Actions"
160185 CPACK_PACKAGE_FILE_NAME : " openms-package"
161186 BUILD_NAME : " ${{ env.RUN_NAME }}-Win64-class-topp-${{ github.run_number }}"
187+ CMAKE_PREFIX_PATH : " ${{ env.QT_ROOT_DIR }}"
188+ Qt6_DIR : " ${{ env.Qt6_DIR }}"
162189 PATH : " ${{ env.QT_BIN_DIR }};${{ github.workspace }}\\ OpenMS\\ contrib\\ lib;${{ env.PATH }}"
163190
164191 - name : Upload package as artifact
0 commit comments