Target the right qtpaths with windeployqt when packing the arm64 installer

This commit is contained in:
Luis Ángel San Martín 2025-04-02 21:15:03 +02:00
parent 06dff7090e
commit 67f5dcd7b9
4 changed files with 49 additions and 33 deletions

View File

@ -58,8 +58,9 @@ jobs:
- ${{ if and(eq(variables['System.TeamFoundationCollectionUri'], 'https://dev.azure.com/luisangelsm/'), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))) }}:
- script: |
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec_native }}\bin;%PATH%
set QTPATHS_ARM64=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin\qtpaths.exe
cd $(Build.SourcesDirectory)\ci\win
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt6 $(pfxFile.secureFilePath) %PASSWORD%
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt6 %QTPATHS_ARM64% $(pfxFile.secureFilePath) %PASSWORD%
env:
PASSWORD: $(pfxPassword)
displayName: 'Create installer'
@ -67,8 +68,9 @@ jobs:
- ${{ else }}:
- script: |
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec_native }}\bin;%PATH%
set QTPATHS_ARM64=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin\qtpaths.exe
cd $(Build.SourcesDirectory)\ci\win
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt6
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt6 %QTPATHS_ARM64%
displayName: 'Create installer'
- task: CopyFiles@2

View File

@ -57,7 +57,7 @@ jobs:
- script: |
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
cd $(Build.SourcesDirectory)\ci\win
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt6 $(pfxFile.secureFilePath) %PASSWORD%
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt6 no_qtpaths $(pfxFile.secureFilePath) %PASSWORD%
env:
PASSWORD: $(pfxPassword)
displayName: 'Create installer'
@ -65,7 +65,7 @@ jobs:
- script: |
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
cd $(Build.SourcesDirectory)\ci\win
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt6
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt6 no_qtpaths
displayName: 'Create installer'
- task: CopyFiles@2
inputs:

View File

@ -57,7 +57,7 @@ jobs:
- script: |
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
cd $(Build.SourcesDirectory)\ci\win
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt5 $(pfxFile.secureFilePath) %PASSWORD%
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt5 no_qtpaths $(pfxFile.secureFilePath) %PASSWORD%
env:
PASSWORD: $(pfxPassword)
displayName: 'Create installer'
@ -65,7 +65,7 @@ jobs:
- script: |
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
cd $(Build.SourcesDirectory)\ci\win
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt5
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt5 no_qtpaths
displayName: 'Create installer'
- task: CopyFiles@2
inputs:

View File

@ -2,7 +2,15 @@
SET src_path=..\..\..
IF "%1"=="x64" (
set ARCH=%1
set COMPRESSION=%2
set BUILD_NUMBER=%3
set QT_VERSION=%4
set QT_PATHS=%5
set PFX_FILE=%6
set PASSWORD=%7
IF "%ARCH%"=="x64" (
SET exe_path=%src_path%\release64
) ELSE (
SET exe_path=%src_path%\release
@ -23,52 +31,58 @@ copy %exe_path%\YACReader.exe .
copy %exe_path%\YACReaderLibrary.exe .
copy %exe_path%\YACReaderLibraryServer.exe .
windeployqt --release -qml YACReader.exe
windeployqt --release -qml --qmldir %src_path%\YACReaderLibrary\qml YACReaderLibrary.exe
windeployqt YACReaderLibraryServer.exe
IF "%QT_PATHS%"=="no_qtpaths" (
windeployqt --release -qml YACReader.exe
windeployqt --release -qml --qmldir %src_path%\YACReaderLibrary\qml YACReaderLibrary.exe
windeployqt YACReaderLibraryServer.exe
) ELSE (
windeployqt --release -qml --qtpaths "%QT_PATHS%" YACReader.exe
windeployqt --release -qml --qtpaths "%QT_PATHS%" --qmldir %src_path%\YACReaderLibrary\qml YACReaderLibrary.exe
windeployqt --qtpaths "%QT_PATHS%" YACReaderLibraryServer.exe
)
mkdir utils
IF "%2"=="7z" (
copy %src_path%\dependencies\7zip\win\%1\7z.dll .\utils\7z.dll
IF "%COMPRESSION%"=="7z" (
copy %src_path%\dependencies\7zip\win\%ARCH%\7z.dll .\utils\7z.dll
) ELSE (
copy %src_path%\dependencies\unarr\win\%1\unarr.dll .
copy %src_path%\dependencies\unarr\win\%ARCH%\unarr.dll .
)
copy %src_path%\dependencies\pdfium\win\%1\pdfium.dll .
copy %src_path%\dependencies\pdfium\win\%ARCH%\pdfium.dll .
mkdir openssl
copy %src_path%\dependencies\openssl\win\%1\* .\openssl\
copy %src_path%\dependencies\openssl\win\%ARCH%\* .\openssl\
xcopy %src_path%\release\server .\server /i /e
xcopy %src_path%\release\languages .\languages /i /e
copy %src_path%\vc_redist.%1.exe .
copy %src_path%\vc_redist.%ARCH%.exe .
type %src_path%\common\yacreader_global.h | findstr /R /C:"#define VERSION " > tmp
set /p VERSION= < tmp
set VERSION=%VERSION:#define VERSION "=%
set VERSION=%VERSION:"=%
echo %VERSION%
del
del tmp
if "%1"=="x86" (
if "%ARCH%"=="x86" (
type build_installer.iss | findstr /v ArchitecturesInstallIn64BitMode | findstr /v ArchitecturesAllowed > copy_build_installer.iss
type copy_build_installer.iss > build_installer.iss
)
echo "iscc start"
if "%~5" == "" (
if "%4"=="qt6" (
iscc /DVERSION=%VERSION% /DPLATFORM=%1 /DCOMPRESSED_ARCHIVE_BACKEND=%2 /DBUILD_NUMBER=%3 /DCODE_SIGN=false build_installer_qt6.iss || exit /b
if "%PFX_FILE%" == "" (
if "%QT_VERSION%"=="qt6" (
iscc /DVERSION=%VERSION% /DPLATFORM=%ARCH% /DCOMPRESSED_ARCHIVE_BACKEND=%COMPRESSION% /DBUILD_NUMBER=%BUILD_NUMBER% /DCODE_SIGN=false build_installer_qt6.iss || exit /b
) else (
iscc /DVERSION=%VERSION% /DPLATFORM=%1 /DCOMPRESSED_ARCHIVE_BACKEND=%2 /DBUILD_NUMBER=%3 /DCODE_SIGN=false build_installer.iss || exit /b
iscc /DVERSION=%VERSION% /DPLATFORM=%ARCH% /DCOMPRESSED_ARCHIVE_BACKEND=%COMPRESSION% /DBUILD_NUMBER=%BUILD_NUMBER% /DCODE_SIGN=false build_installer.iss || exit /b
)
) else (
if "%4"=="qt6" (
iscc /DVERSION=%VERSION% /DPLATFORM=%1 /DCOMPRESSED_ARCHIVE_BACKEND=%2 /DBUILD_NUMBER=%3 /DCODE_SIGN=true build_installer_qt6.iss "/Ssigntool=$qC:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\SignTool.exe$q sign /f %5 /p %6 $f" || exit /b
if "%QT_VERSION%"=="qt6" (
iscc /DVERSION=%VERSION% /DPLATFORM=%ARCH% /DCOMPRESSED_ARCHIVE_BACKEND=%COMPRESSION% /DBUILD_NUMBER=%BUILD_NUMBER% /DCODE_SIGN=true build_installer_qt6.iss "/Ssigntool=$qC:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\SignTool.exe$q sign /f %PFX_FILE% /p %PASSWORD% $f" || exit /b
) else (
iscc /DVERSION=%VERSION% /DPLATFORM=%1 /DCOMPRESSED_ARCHIVE_BACKEND=%2 /DBUILD_NUMBER=%3 /DCODE_SIGN=true build_installer.iss "/Ssigntool=$qC:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\SignTool.exe$q sign /f %5 /p %6 $f" || exit /b
iscc /DVERSION=%VERSION% /DPLATFORM=%ARCH% /DCOMPRESSED_ARCHIVE_BACKEND=%COMPRESSION% /DBUILD_NUMBER=%BUILD_NUMBER% /DCODE_SIGN=true build_installer.iss "/Ssigntool=$qC:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\SignTool.exe$q sign /f %PFX_FILE% /p %PASSWORD% $f" || exit /b
)
)
echo "iscc done!"