diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0ef9a6ba9..554dbd724 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -152,8 +152,8 @@ jobs: - name: Install dependencies run: | pip3 install --break-system-packages aqtinstall - python3 -m aqt install-qt mac desktop 6.3.1 -m qt5compat qtmultimedia qtimageformats - echo "${{ github.workspace }}/6.3.1/macos/bin" >> $GITHUB_PATH + python3 -m aqt install-qt mac desktop 6.9.3 -m qt5compat qtmultimedia qtimageformats qtshadertools + echo "${{ github.workspace }}/6.9.3/macos/bin" >> $GITHUB_PATH brew install create-dmg brew install node brew link --overwrite node @@ -420,8 +420,8 @@ jobs: pip install -U pip pip install aqtinstall mkdir C:\Qt - python -m aqt install-qt windows desktop 6.3.1 win64_msvc2019_64 -O c:\Qt -m qt5compat qtmultimedia qtimageformats - dir C:\Qt\6.3.1\msvc2019_64\bin + python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_64 -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools + dir C:\Qt\6.9.3\msvc2022_64\bin choco install -y wget choco install innosetup mkdir %GITHUB_WORKSPACE%\compressed_archive @@ -448,8 +448,8 @@ jobs: - name: Build shell: cmd run: | - call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.29 - set PATH=C:\Qt\6.3.1\msvc2019_64\bin;%PATH% + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + set PATH=C:\Qt\6.9.3\msvc2022_64\bin;%PATH% set DEFINES_VAR=DEFINES+="BUILD_NUMBER=\\\\\\\"${{ needs.initialization.outputs.build_number }}\\\\\\\"" qmake CONFIG+="7zip" %DEFINES_VAR% nmake @@ -457,8 +457,8 @@ jobs: - name: Run tests shell: cmd run: | - call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.29 - set PATH=C:\Qt\6.3.1\msvc2019_64\bin;%PATH% + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + set PATH=C:\Qt\6.9.3\msvc2022_64\bin;%PATH% nmake check TESTARGS="-maxwarnings 100000" - name: Upload executables for signing @@ -504,8 +504,8 @@ jobs: shell: cmd working-directory: ci/win run: | - call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.29 - set PATH=C:\Qt\6.3.1\msvc2019_64\bin;%PATH% + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + set PATH=C:\Qt\6.9.3\msvc2022_64\bin;%PATH% .\create_installer.cmd x64 7z ${{ needs.initialization.outputs.build_number }} qt6 - name: Verify installer was created @@ -566,6 +566,141 @@ jobs: name: windows-x64-qt6-${{ needs.initialization.outputs.build_number }} path: ci/win/Output/YACReader*.exe + # Windows ARM64 Qt6 build + windows-arm64-qt6: + name: Windows ARM64 (Qt6) + runs-on: windows-2022 + needs: [initialization, code-format-validation] + steps: + - uses: actions/checkout@v4 + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + architecture: 'x64' + + - name: Install dependencies + shell: cmd + run: | + pip install aqtinstall + mkdir C:\Qt + python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_64 -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools + python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_arm64_cross_compiled -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools + dir C:\Qt\6.9.3\msvc2022_arm64\bin + choco install -y wget + choco install innosetup + mkdir %GITHUB_WORKSPACE%\compressed_archive + wget "https://github.com/YACReader/yacreader-7z-deps/blob/main/7z2301-src.7z?raw=true" -O %GITHUB_WORKSPACE%\compressed_archive\7z2301-src.7z + 7z x %GITHUB_WORKSPACE%\compressed_archive\7z2301-src.7z -o%GITHUB_WORKSPACE%\compressed_archive\lib7zip + wget "https://aka.ms/vs/17/release/vc_redist.arm64.exe" -O %GITHUB_WORKSPACE%\vc_redist.arm64.exe + + - name: Prepare Build + shell: cmd + run: | + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64_arm64 + set PATH=C:\Qt\6.9.3\msvc2022_arm64\bin;%PATH% + set DEFINES_VAR=DEFINES+="BUILD_NUMBER=\\\\\\\"${{ needs.initialization.outputs.build_number }}\\\\\\\"" + qmake CONFIG+="7zip" %DEFINES_VAR% + + - name: Build + shell: cmd + run: | + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64_arm64 + set PATH=C:\Qt\6.9.3\msvc2022_arm64\bin;%PATH% + nmake + + - name: Upload executables for signing + if: github.repository == 'YACReader/yacreader' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop') + uses: actions/upload-artifact@v4 + id: upload_executables + with: + name: windows-arm64-qt6-executables-unsigned-${{ needs.initialization.outputs.build_number }} + path: | + release/YACReader.exe + release/YACReaderLibrary.exe + release/YACReaderLibraryServer.exe + + - name: Submit to SignPath + if: github.repository == 'YACReader/yacreader' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop') + uses: signpath/github-action-submit-signing-request@v1 + with: + api-token: ${{ secrets.SIGNPATH_API_TOKEN }} + organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }} + project-slug: 'yacreader' + signing-policy-slug: 'release-signing' + artifact-configuration-slug: 'zipped-files' + github-artifact-id: ${{ steps.upload_executables.outputs.artifact-id }} + wait-for-completion: true + output-artifact-directory: 'release/signed' + + - name: Replace executables with signed versions + if: github.repository == 'YACReader/yacreader' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop') + shell: pwsh + run: | + Copy-Item "release/signed/YACReader.exe" "release/YACReader.exe" -Force + Copy-Item "release/signed/YACReaderLibrary.exe" "release/YACReaderLibrary.exe" -Force + Copy-Item "release/signed/YACReaderLibraryServer.exe" "release/YACReaderLibraryServer.exe" -Force + Remove-Item -Path "release/signed" -Recurse -Force -ErrorAction SilentlyContinue + Write-Host "Signed executables are ready for installer creation" + + - name: Create installer + shell: cmd + working-directory: ci/win + run: | + set PATH=C:\Qt\6.9.3\msvc2022_64\bin;%PATH% + .\create_installer.cmd arm64 7z ${{ needs.initialization.outputs.build_number }} qt6 + + - name: Verify installer was created + if: github.repository == 'YACReader/yacreader' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop') + shell: pwsh + run: | + if (-not (Test-Path "ci/win/Output/YACReader*.exe")) { + throw "Installer file was not created" + } + Get-ChildItem "ci/win/Output/YACReader*.exe" + + - name: Upload unsigned installer + if: github.repository == 'YACReader/yacreader' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop') + uses: actions/upload-artifact@v4 + id: upload_unsigned + with: + name: windows-arm64-qt6-unsigned-${{ needs.initialization.outputs.build_number }} + path: ci/win/Output/YACReader*.exe + + - name: Submit to SignPath + if: github.repository == 'YACReader/yacreader' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop') + uses: signpath/github-action-submit-signing-request@v1 + with: + api-token: ${{ secrets.SIGNPATH_API_TOKEN }} + organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }} + project-slug: 'yacreader' + signing-policy-slug: 'release-signing' + artifact-configuration-slug: 'zipped-files' + github-artifact-id: ${{ steps.upload_unsigned.outputs.artifact-id }} + wait-for-completion: true + output-artifact-directory: 'ci/win/Output/signed' + + - name: Replace with signed installer and cleanup + if: github.repository == 'YACReader/yacreader' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop') + shell: pwsh + working-directory: ci/win/Output + run: | + $signedFiles = Get-ChildItem "signed/YACReader*.exe" + foreach ($file in $signedFiles) { + $destName = $file.Name + Copy-Item $file.FullName $destName -Force + Write-Host "Replaced with signed: $destName" + } + Remove-Item -Path "signed" -Recurse -Force -ErrorAction SilentlyContinue + Write-Host "Cleaned up signed directory" + + - name: Upload installer + uses: actions/upload-artifact@v4 + with: + name: windows-arm64-qt6-${{ needs.initialization.outputs.build_number }} + path: ci/win/Output/YACReader*.exe + # Windows x86 Qt5 build windows-x86: name: Windows x86 (Qt5) @@ -774,6 +909,7 @@ jobs: - windows-x86 - windows-x64 - windows-x64-qt6 + - windows-arm64-qt6 - docker-amd64 - docker-arm64 steps: @@ -887,6 +1023,7 @@ jobs: - windows-x86 - windows-x64 - windows-x64-qt6 + - windows-arm64-qt6 - docker-amd64 - docker-arm64 steps: diff --git a/YACReader/main.cpp b/YACReader/main.cpp index 39bbf3eb2..c0c865b46 100644 --- a/YACReader/main.cpp +++ b/YACReader/main.cpp @@ -202,6 +202,14 @@ int main(int argc, char *argv[]) mwv->openComicFromPath(arglist.at(0)); } +// This forces the style that was being used before Qt6.7. Qt6.7 introduced a new style for Windows 11. The new style seems to have somo known bugs. +// There is a bug in the Windows 11 style that causes checked QToolButton to not have a background color (css doesn't work either). +// So it makes imposible for the user to see if the button is checked or not. +// QTBUG-132443 +#if defined(Q_OS_WIN) && QT_VERSION >= QT_VERSION_CHECK(6, 7, 0) + QApplication::setStyle("windowsvista"); +#endif + #ifdef Q_OS_MACOS app.setWindow(mwv); #endif diff --git a/YACReaderLibrary/main.cpp b/YACReaderLibrary/main.cpp index 0af94d5f1..d762be765 100644 --- a/YACReaderLibrary/main.cpp +++ b/YACReaderLibrary/main.cpp @@ -285,6 +285,14 @@ int main(int argc, char **argv) app.installEventFilter(mw); +// This forces the style that was being used before Qt6.7. Qt6.7 introduced a new style for Windows 11. The new style seems to have somo known bugs. +// There is a bug in the Windows 11 style that causes checked QToolButton to not have a background color (css doesn't work either). +// So it makes imposible for the user to see if the button is checked or not. +// QTBUG-132443 +#if defined(Q_OS_WIN) && QT_VERSION >= QT_VERSION_CHECK(6, 7, 0) + QApplication::setStyle("windowsvista"); +#endif + int ret = app.exec(); QLOG_INFO() << "YACReaderLibrary closed with exit code :" << ret; diff --git a/YACReaderLibrary/qml/FlowView6.qml b/YACReaderLibrary/qml/FlowView6.qml index 0af7027da..3e96df8c7 100644 --- a/YACReaderLibrary/qml/FlowView6.qml +++ b/YACReaderLibrary/qml/FlowView6.qml @@ -1,5 +1,6 @@ -import QtQuick 2.15 -import QtQuick.Controls 2.15 +import QtQuick + +import QtQuick.Controls import Qt5Compat.GraphicalEffects diff --git a/YACReaderLibrary/qml/FolderContentView6.qml b/YACReaderLibrary/qml/FolderContentView6.qml index 190dd981e..6b27c713c 100644 --- a/YACReaderLibrary/qml/FolderContentView6.qml +++ b/YACReaderLibrary/qml/FolderContentView6.qml @@ -1,7 +1,7 @@ -import QtQuick 2.15 +import QtQuick -import QtQuick.Controls 2.15 -import QtQuick.Layouts 1.12 +import QtQuick.Controls +import QtQuick.Layouts import Qt5Compat.GraphicalEffects diff --git a/YACReaderLibrary/qml/GridComicsView6.qml b/YACReaderLibrary/qml/GridComicsView6.qml index 75aad7ccb..9e0ff61b7 100644 --- a/YACReaderLibrary/qml/GridComicsView6.qml +++ b/YACReaderLibrary/qml/GridComicsView6.qml @@ -1,7 +1,7 @@ -import QtQuick 2.15 +import QtQuick -import QtQuick.Controls 2.15 -import QtQuick.Layouts 1.12 +import QtQuick.Controls +import QtQuick.Layouts import Qt5Compat.GraphicalEffects diff --git a/YACReaderLibrary/qml/InfoComicsView6.qml b/YACReaderLibrary/qml/InfoComicsView6.qml index e341f8c02..e4adaf4bf 100644 --- a/YACReaderLibrary/qml/InfoComicsView6.qml +++ b/YACReaderLibrary/qml/InfoComicsView6.qml @@ -1,6 +1,6 @@ -import QtQuick 2.15 +import QtQuick -import QtQuick.Controls 2.15 +import QtQuick.Controls import com.yacreader.ComicModel 1.0 diff --git a/YACReaderLibrary/qml/InfoFavorites6.qml b/YACReaderLibrary/qml/InfoFavorites6.qml index 11ca790da..be98fd1d4 100644 --- a/YACReaderLibrary/qml/InfoFavorites6.qml +++ b/YACReaderLibrary/qml/InfoFavorites6.qml @@ -1,4 +1,4 @@ -import QtQuick 2.15 +import QtQuick import Qt5Compat.GraphicalEffects diff --git a/YACReaderLibrary/qml/InfoRating6.qml b/YACReaderLibrary/qml/InfoRating6.qml index 8892f0a91..ca3eda60c 100644 --- a/YACReaderLibrary/qml/InfoRating6.qml +++ b/YACReaderLibrary/qml/InfoRating6.qml @@ -1,4 +1,4 @@ -import QtQuick 2.15 +import QtQuick import Qt5Compat.GraphicalEffects diff --git a/YACReaderLibrary/qml/InfoTick6.qml b/YACReaderLibrary/qml/InfoTick6.qml index d90371418..e7f260676 100644 --- a/YACReaderLibrary/qml/InfoTick6.qml +++ b/YACReaderLibrary/qml/InfoTick6.qml @@ -1,4 +1,4 @@ -import QtQuick 2.15 +import QtQuick import Qt5Compat.GraphicalEffects diff --git a/ci/win/build_installer_qt6.iss b/ci/win/build_installer_qt6.iss index 7f6bb39b7..7baab194b 100644 --- a/ci/win/build_installer_qt6.iss +++ b/ci/win/build_installer_qt6.iss @@ -13,8 +13,8 @@ OutputDir=..\Output ChangesAssociations=true SetupIconFile=setup.ico UninstallDisplayIcon=uninstall.ico -ArchitecturesInstallIn64BitMode=x64 -ArchitecturesAllowed=x64 +ArchitecturesInstallIn64BitMode={#PLATFORM} +ArchitecturesAllowed={#PLATFORM} [Registry] Root: HKCR; SubKey: .cbz; ValueType: string; ValueData: Comic Book (zip); Flags: uninsdeletekey; Tasks: File_association @@ -43,41 +43,36 @@ Source: Qt6Network.dll; DestDir: {app} Source: Qt6OpenGL.dll; DestDir: {app} Source: Qt6OpenGLWidgets.dll; DestDir: {app} Source: Qt6Qml.dll; DestDir: {app} -Source: Qt6QmlLocalStorage.dll; DestDir: {app} Source: Qt6QmlModels.dll; DestDir: {app} +Source: Qt6QmlMeta.dll; DestDir: {app} Source: Qt6QmlWorkerScript.dll; DestDir: {app} -Source: Qt6QmlXmlListModel.dll; DestDir: {app} Source: Qt6Quick.dll; DestDir: {app} +Source: Qt6QuickEffects.dll; DestDir: {app} Source: Qt6QuickControls2.dll; DestDir: {app} Source: Qt6QuickControls2Impl.dll; DestDir: {app} -Source: Qt6QuickDialogs2.dll; DestDir: {app} -Source: Qt6QuickDialogs2QuickImpl.dll; DestDir: {app} -Source: Qt6QuickDialogs2Utils.dll; DestDir: {app} +Source: Qt6QuickControls2Basic.dll; DestDir: {app} +Source: Qt6QuickControls2BasicStyleImpl.dll; DestDir: {app} +Source: Qt6QuickControls2Fusion.dll; DestDir: {app} +Source: Qt6QuickControls2FusionStyleImpl.dll; DestDir: {app} Source: Qt6QuickLayouts.dll; DestDir: {app} -Source: Qt6QuickParticles.dll; DestDir: {app} Source: Qt6QuickShapes.dll; DestDir: {app} Source: Qt6QuickTemplates2.dll; DestDir: {app} Source: Qt6QuickWidgets.dll; DestDir: {app} Source: Qt6Sql.dll; DestDir: {app} Source: Qt6Svg.dll; DestDir: {app} - +Source: Qt6ShaderTools.dll; DestDir: {app} ;Qt Angle -Source: opengl32sw.dll; DestDir: {app} -Source: D3Dcompiler_47.dll; DestDir: {app} - -;Qt QML -Source: QtQml\*; DestDir: {app}\QtQml\; Flags: recursesubdirs -Source: QtQuick\*; DestDir: {app}\QtQuick\; Flags: recursesubdirs - -;Qt5 Compat -Source: Qt5Compat\*; DestDir: {app}\Qt5Compat\; Flags: recursesubdirs +Source: opengl32sw.dll; DestDir: {app}; Flags: skipifsourcedoesntexist +Source: D3Dcompiler_47.dll; DestDir: {app}; Flags: skipifsourcedoesntexist ;Qt PlugIns +Source:generic\*; DestDir: {app}\generic\ Source:iconengines\*; DestDir: {app}\iconengines\ Source:imageformats\*; DestDir: {app}\imageformats\ Source:networkinformation\*; DestDir: {app}\networkinformation\ Source:platforms\*; DestDir: {app}\platforms\ +Source:qml\*; DestDir: {app}\qml\; Flags: recursesubdirs Source:qmltooling\*; DestDir: {app}\qmltooling\ Source:sqldrivers\qsqlite.dll; DestDir: {app}\sqldrivers\ Source:styles\*; DestDir: {app}\styles\ diff --git a/ci/win/create_installer.cmd b/ci/win/create_installer.cmd index 650252927..1fc39dc04 100644 --- a/ci/win/create_installer.cmd +++ b/ci/win/create_installer.cmd @@ -2,10 +2,15 @@ SET src_path=..\..\.. -IF "%1"=="x64" ( - SET exe_path=%src_path%\release64 +set ARCH=%1 +set COMPRESSION=%2 +set BUILD_NUMBER=%3 +set QT_VERSION=%4 + +IF "%ARCH%"=="x64" ( + SET exe_path=%src_path%\release64 ) ELSE ( - SET exe_path=%src_path%\release + SET exe_path=%src_path%\release ) rmdir /S /Q installer_contents @@ -23,45 +28,45 @@ copy %exe_path%\YACReader.exe . copy %exe_path%\YACReaderLibrary.exe . copy %exe_path%\YACReaderLibraryServer.exe . -windeployqt --release YACReader.exe -windeployqt --release --qmldir %src_path%\YACReaderLibrary\qml YACReaderLibrary.exe +windeployqt --release -qml YACReader.exe +windeployqt --release -qml --qmldir %src_path%\YACReaderLibrary\qml YACReaderLibrary.exe windeployqt 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 . ) -mkdir openssl +copy %src_path%\dependencies\pdfium\win\%ARCH%\pdfium.dll . -copy %src_path%\dependencies\pdfium\win\%1\pdfium.dll . -copy %src_path%\dependencies\openssl\win\%1\* .\openssl\ +mkdir 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" ( - type build_installer.iss | findstr /v ArchitecturesInstallIn64BitMode | findstr /v ArchitecturesAllowed > copy_build_installer.iss - type copy_build_installer.iss > build_installer.iss +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 "%4"=="qt6" ( - iscc /DVERSION=%VERSION% /DPLATFORM=%1 /DCOMPRESSED_ARCHIVE_BACKEND=%2 /DBUILD_NUMBER=%3 build_installer_qt6.iss || exit /b +if "%QT_VERSION%"=="qt6" ( + iscc /DVERSION=%VERSION% /DPLATFORM=%ARCH% /DCOMPRESSED_ARCHIVE_BACKEND=%COMPRESSION% /DBUILD_NUMBER=%BUILD_NUMBER% build_installer_qt6.iss || exit /b ) else ( - iscc /DVERSION=%VERSION% /DPLATFORM=%1 /DCOMPRESSED_ARCHIVE_BACKEND=%2 /DBUILD_NUMBER=%3 build_installer.iss || exit /b + iscc /DVERSION=%VERSION% /DPLATFORM=%ARCH% /DCOMPRESSED_ARCHIVE_BACKEND=%COMPRESSION% /DBUILD_NUMBER=%BUILD_NUMBER% build_installer.iss || exit /b ) echo "iscc done!" diff --git a/config.pri b/config.pri index a5d82f03b..8d1b6be45 100644 --- a/config.pri +++ b/config.pri @@ -50,7 +50,7 @@ isEmpty(QMAKE_TARGET.arch) { QMAKE_TARGET.arch = $$QMAKE_HOST.arch } contains(QMAKE_TARGET.arch, arm.*)|contains(QMAKE_TARGET.arch, aarch.*) { - !macx { # Apple silicon supports opengl + !macx:!win32 { # Apple silicon supports opengl (for now lets flag windows as experimental) CONFIG += no_opengl message("Building for ARM architecture. Disabling OpenGL coverflow. If you know that your ARM arquitecture supports opengl, please edit config.pri to enable it.") } diff --git a/dependencies/7zip/win/arm64/7z.dll b/dependencies/7zip/win/arm64/7z.dll new file mode 100644 index 000000000..f15ffeb11 Binary files /dev/null and b/dependencies/7zip/win/arm64/7z.dll differ diff --git a/dependencies/openssl/win/arm64/libcrypto-3-arm64.dll b/dependencies/openssl/win/arm64/libcrypto-3-arm64.dll new file mode 100644 index 000000000..6aab0d2cb Binary files /dev/null and b/dependencies/openssl/win/arm64/libcrypto-3-arm64.dll differ diff --git a/dependencies/openssl/win/arm64/libssl-3-arm64.dll b/dependencies/openssl/win/arm64/libssl-3-arm64.dll new file mode 100644 index 000000000..de58f073d Binary files /dev/null and b/dependencies/openssl/win/arm64/libssl-3-arm64.dll differ diff --git a/dependencies/pdf_backend.pri b/dependencies/pdf_backend.pri index 0905ede61..e008dc955 100644 --- a/dependencies/pdf_backend.pri +++ b/dependencies/pdf_backend.pri @@ -7,12 +7,14 @@ CONFIG(pdfium) { DEFINES += "USE_PDFIUM" SOURCES += ../common/pdf_comic.cpp msvc { - INCLUDEPATH += $$PWD/pdfium/win/public - contains(QMAKE_TARGET.arch, x86_64): { - LIBS += -L$$PWD/pdfium/win/x64 -lpdfium - } else { - LIBS += -L$$PWD/pdfium/win/x86 -lpdfium - } + INCLUDEPATH += $$PWD/pdfium/win/public + contains(QMAKE_TARGET.arch, x86_64): { + LIBS += -L$$PWD/pdfium/win/x64 -lpdfium + } else:contains(QMAKE_TARGET.arch, arm64): { + LIBS += -L$$PWD/pdfium/win/arm64 -lpdfium + } else { + LIBS += -L$$PWD/pdfium/win/x86 -lpdfium + } } unix|mingw { macx { diff --git a/dependencies/pdfium/win/arm64/pdfium.dll b/dependencies/pdfium/win/arm64/pdfium.dll new file mode 100644 index 000000000..b2d8f9f56 Binary files /dev/null and b/dependencies/pdfium/win/arm64/pdfium.dll differ diff --git a/dependencies/pdfium/win/arm64/pdfium.lib b/dependencies/pdfium/win/arm64/pdfium.lib new file mode 100644 index 000000000..1f326be87 Binary files /dev/null and b/dependencies/pdfium/win/arm64/pdfium.lib differ