From 7deb374cf97f024df21a4d873d28ceb367bb2b78 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Thu, 16 Oct 2025 20:48:01 +1000 Subject: [PATCH] Deps: Hopefully work around path length limits --- .github/workflows/linux-appimage-build.yml | 2 +- .github/workflows/linux-cross-appimage-build.yml | 2 +- .github/workflows/macos-build.yml | 2 +- .github/workflows/windows-build.yml | 2 +- scripts/deps/build-dependencies-windows-arm64.bat | 13 ++++++++++--- scripts/deps/build-dependencies-windows-x64.bat | 15 +++++++++++---- 6 files changed, 25 insertions(+), 11 deletions(-) diff --git a/.github/workflows/linux-appimage-build.yml b/.github/workflows/linux-appimage-build.yml index c9f600ace..f7a6ca438 100644 --- a/.github/workflows/linux-appimage-build.yml +++ b/.github/workflows/linux-appimage-build.yml @@ -8,7 +8,7 @@ jobs: linux-appimage-build: name: "${{ matrix.name }}" runs-on: ubuntu-22.04 - timeout-minutes: 120 + timeout-minutes: 240 strategy: matrix: include: diff --git a/.github/workflows/linux-cross-appimage-build.yml b/.github/workflows/linux-cross-appimage-build.yml index 7231aa7d9..5224f6190 100644 --- a/.github/workflows/linux-cross-appimage-build.yml +++ b/.github/workflows/linux-cross-appimage-build.yml @@ -16,7 +16,7 @@ jobs: container: image: ghcr.io/duckstation/cross-build-${{ matrix.arch }}:latest - timeout-minutes: 120 + timeout-minutes: 240 steps: - uses: actions/checkout@v5 with: diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 3f5c79570..174d72471 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -8,7 +8,7 @@ jobs: macos-build: name: "Universal" runs-on: macos-15 - timeout-minutes: 120 + timeout-minutes: 240 steps: - uses: actions/checkout@v5 with: diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 4f35c437d..ba8038b86 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -8,7 +8,7 @@ jobs: windows-build: name: "${{ matrix.name }}" runs-on: windows-2022 - timeout-minutes: 120 + timeout-minutes: 240 strategy: matrix: include: diff --git a/scripts/deps/build-dependencies-windows-arm64.bat b/scripts/deps/build-dependencies-windows-arm64.bat index aa8e4a29f..cf250c53b 100644 --- a/scripts/deps/build-dependencies-windows-arm64.bat +++ b/scripts/deps/build-dependencies-windows-arm64.bat @@ -244,16 +244,23 @@ ninja install || goto error cd ..\.. || goto error rmdir /S /Q "qtshadertools-everywhere-src-%QT%" +rem This mess with the junction is to work around path length limits in cmake/MSVC. echo Building Qt Declarative... rmdir /S /Q "qtdeclarative-everywhere-src-%QT%" %SEVENZIP% x "qtdeclarative-everywhere-src-%QT%.zip" || goto error cd "qtdeclarative-everywhere-src-%QT%" || goto error +set QTDECLARATIVEDIR=%CD% mkdir build || goto error -cd build || goto error -call "%INSTALLDIR%\bin\qt-configure-module.bat" .. -- %FORCEPDB% -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DQT_GENERATE_SBOM=OFF || goto error +pushd ..\..\..\.. || goto error +mklink /J b "%QTDECLARATIVEDIR%\build" || goto error +cd b || goto error +call "%INSTALLDIR%\bin\qt-configure-module.bat" %QTDECLARATIVEDIR% -- %FORCEPDB% -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DQT_GENERATE_SBOM=OFF || goto error cmake --build . --parallel || goto error ninja install || goto error -cd ..\.. || goto error +cd .. || goto error +rmdir b || goto error +popd || goto error +cd .. || goto error rmdir /S /Q "qtdeclarative-everywhere-src-%QT%" echo Building Qt Tools... diff --git a/scripts/deps/build-dependencies-windows-x64.bat b/scripts/deps/build-dependencies-windows-x64.bat index 8a5e16977..be0858944 100644 --- a/scripts/deps/build-dependencies-windows-x64.bat +++ b/scripts/deps/build-dependencies-windows-x64.bat @@ -161,7 +161,7 @@ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INST cmake --build build --parallel || goto error ninja -C build install || goto error cd .. || goto error -tar -xf "freetype-%FREETYPE%.tar.gz" || goto error +rmdir /S /Q "freetype-%FREETYPE%" echo Building HarfBuzz... rmdir /S /Q "harfbuzz-%HARFBUZZ%" @@ -244,16 +244,23 @@ ninja install || goto error cd ..\.. || goto error rmdir /S /Q "qtshadertools-everywhere-src-%QT%" +rem This mess with the junction is to work around path length limits in cmake/MSVC. echo Building Qt Declarative... rmdir /S /Q "qtdeclarative-everywhere-src-%QT%" %SEVENZIP% x "qtdeclarative-everywhere-src-%QT%.zip" || goto error cd "qtdeclarative-everywhere-src-%QT%" || goto error +set QTDECLARATIVEDIR=%CD% mkdir build || goto error -cd build || goto error -call "%INSTALLDIR%\bin\qt-configure-module.bat" .. -- %FORCEPDB% -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DQT_GENERATE_SBOM=OFF || goto error +pushd ..\..\..\.. || goto error +mklink /J b "%QTDECLARATIVEDIR%\build" || goto error +cd b || goto error +call "%INSTALLDIR%\bin\qt-configure-module.bat" %QTDECLARATIVEDIR% -- %FORCEPDB% -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DQT_GENERATE_SBOM=OFF || goto error cmake --build . --parallel || goto error ninja install || goto error -cd ..\.. || goto error +cd .. || goto error +rmdir b || goto error +popd || goto error +cd .. || goto error rmdir /S /Q "qtdeclarative-everywhere-src-%QT%" echo Building Qt Tools...