2023-07-19 12:52:25 +00:00
|
|
|
@echo off
|
|
|
|
setlocal enabledelayedexpansion
|
|
|
|
|
|
|
|
echo Setting environment...
|
|
|
|
if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" (
|
|
|
|
call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
|
|
) else if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" (
|
|
|
|
call "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
|
|
|
|
) else (
|
|
|
|
echo Visual Studio 2022 not found.
|
|
|
|
goto error
|
|
|
|
)
|
|
|
|
|
|
|
|
set SEVENZIP="C:\Program Files\7-Zip\7z.exe"
|
|
|
|
|
|
|
|
if defined DEBUG (
|
|
|
|
echo DEBUG=%DEBUG%
|
|
|
|
) else (
|
|
|
|
set DEBUG=1
|
|
|
|
)
|
|
|
|
|
|
|
|
pushd %~dp0
|
|
|
|
set "SCRIPTDIR=%CD%"
|
|
|
|
cd ..\..\..\..
|
|
|
|
mkdir deps-build
|
|
|
|
cd deps-build || goto error
|
|
|
|
set "BUILDDIR=%CD%"
|
|
|
|
cd ..
|
|
|
|
mkdir deps
|
|
|
|
cd deps || goto error
|
|
|
|
set "INSTALLDIR=%CD%"
|
|
|
|
popd
|
|
|
|
|
|
|
|
echo SCRIPTDIR=%SCRIPTDIR%
|
|
|
|
echo BUILDDIR=%BUILDDIR%
|
|
|
|
echo INSTALLDIR=%INSTALLDIR%
|
|
|
|
|
|
|
|
cd "%BUILDDIR%"
|
|
|
|
|
2024-04-02 11:56:54 +00:00
|
|
|
set QT=6.7.0
|
|
|
|
set QTMINOR=6.7
|
|
|
|
set SDL=SDL2-2.30.2
|
2023-07-19 12:52:25 +00:00
|
|
|
|
2024-04-02 11:56:54 +00:00
|
|
|
call :downloadfile "%SDL%.zip" "https://libsdl.org/release/%SDL%.zip" 09a822abf6e97f80d09cf9c46115faebb3476b0d56c1c035aec8ec3f88382ae7 || goto error
|
|
|
|
call :downloadfile "qtbase-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtbase-everywhere-src-%QT%.zip" 31a1e0c69bb37e6631de02f8cf0b75afdc2ce44890c32dac38d362c251c12483 || goto error
|
|
|
|
call :downloadfile "qtimageformats-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtimageformats-everywhere-src-%QT%.zip" 450c0b1c3cd51e2e110fceaf60e157641c2698d18b12a3552d43fa1539bfdbbc || goto error
|
|
|
|
call :downloadfile "qtsvg-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtsvg-everywhere-src-%QT%.zip" b869be09ccb72949a3311dc87ac702b6e854edfd5bff2bc2cc4d7fd549b1869a || goto error
|
|
|
|
call :downloadfile "qttools-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttools-everywhere-src-%QT%.zip" cfaf16a33ebecd950f19e80c7a8ecc512263d57079fe78ea4b79fa1898233c08 || goto error
|
|
|
|
call :downloadfile "qttranslations-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttranslations-everywhere-src-%QT%.zip" 69241747af86bc5b6c2829de4a28d56d3c1119dd21c379b84615178d45b8f3aa || goto error
|
2023-09-01 00:36:50 +00:00
|
|
|
|
2023-07-19 12:52:25 +00:00
|
|
|
if %DEBUG%==1 (
|
|
|
|
echo Building debug and release libraries...
|
|
|
|
) else (
|
|
|
|
echo Building release libraries...
|
|
|
|
)
|
|
|
|
|
|
|
|
echo Building SDL...
|
|
|
|
rmdir /S /Q "%SDL%"
|
|
|
|
%SEVENZIP% x "%SDL%.zip" || goto error
|
|
|
|
cd "%SDL%" || goto error
|
|
|
|
if %DEBUG%==1 (
|
|
|
|
cmake -B build-debug -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DSDL_SHARED=ON -DSDL_STATIC=OFF -G Ninja || goto error
|
|
|
|
cmake --build build-debug --parallel || goto error
|
|
|
|
ninja -C build-debug install || goto error
|
|
|
|
)
|
|
|
|
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DSDL_SHARED=ON -DSDL_STATIC=OFF -G Ninja || goto error
|
|
|
|
cmake --build build --parallel || goto error
|
|
|
|
ninja -C build install || goto error
|
|
|
|
cd .. || goto error
|
|
|
|
|
|
|
|
if %DEBUG%==1 (
|
|
|
|
set QTBUILDSPEC=-DCMAKE_CONFIGURATION_TYPES="Release;Debug" -G "Ninja Multi-Config"
|
|
|
|
) else (
|
|
|
|
set QTBUILDSPEC=-DCMAKE_BUILD_TYPE=Release -G Ninja
|
|
|
|
)
|
|
|
|
|
|
|
|
echo Building Qt base...
|
|
|
|
rmdir /S /Q "qtbase-everywhere-src-%QT%"
|
|
|
|
%SEVENZIP% x "qtbase-everywhere-src-%QT%.zip" || goto error
|
|
|
|
cd "qtbase-everywhere-src-%QT%" || goto error
|
|
|
|
cmake -B build -DFEATURE_sql=OFF -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DINPUT_gui=yes -DINPUT_widgets=yes -DINPUT_ssl=yes -DINPUT_openssl=no -DINPUT_schannel=yes %QTBUILDSPEC% || goto error
|
|
|
|
cmake --build build --parallel || goto error
|
|
|
|
ninja -C build install || goto error
|
|
|
|
cd .. || goto error
|
|
|
|
|
|
|
|
echo Building Qt SVG...
|
|
|
|
rmdir /S /Q "qtsvg-everywhere-src-%QT%"
|
|
|
|
%SEVENZIP% x "qtsvg-everywhere-src-%QT%.zip" || goto error
|
|
|
|
cd "qtsvg-everywhere-src-%QT%" || goto error
|
|
|
|
mkdir build || goto error
|
|
|
|
cd build || goto error
|
|
|
|
call "%INSTALLDIR%\bin\qt-configure-module.bat" .. || goto error
|
|
|
|
cmake --build . --parallel || goto error
|
|
|
|
ninja install || goto error
|
|
|
|
cd ..\.. || goto error
|
|
|
|
|
|
|
|
echo Building Qt Image Formats...
|
|
|
|
rmdir /S /Q "qtimageformats-everywhere-src-%QT%"
|
|
|
|
%SEVENZIP% x "qtimageformats-everywhere-src-%QT%.zip" || goto error
|
|
|
|
cd "qtimageformats-everywhere-src-%QT%" || goto error
|
|
|
|
mkdir build || goto error
|
|
|
|
cd build || goto error
|
|
|
|
call "%INSTALLDIR%\bin\qt-configure-module.bat" .. || goto error
|
|
|
|
cmake --build . --parallel || goto error
|
|
|
|
ninja install || goto error
|
|
|
|
cd ..\.. || goto error
|
|
|
|
|
|
|
|
echo Building Qt Tools...
|
|
|
|
rmdir /S /Q "qtimageformats-everywhere-src-%QT%"
|
|
|
|
%SEVENZIP% x "qttools-everywhere-src-%QT%.zip" || goto error
|
|
|
|
cd "qttools-everywhere-src-%QT%" || goto error
|
|
|
|
mkdir build || goto error
|
|
|
|
cd build || goto error
|
|
|
|
call "%INSTALLDIR%\bin\qt-configure-module.bat" .. -- -DFEATURE_assistant=OFF -DFEATURE_clang=OFF -DFEATURE_designer=OFF -DFEATURE_kmap2qmap=OFF -DFEATURE_pixeltool=OFF -DFEATURE_pkg_config=OFF -DFEATURE_qev=OFF -DFEATURE_qtattributionsscanner=OFF -DFEATURE_qtdiag=OFF -DFEATURE_qtplugininfo=OFF || goto error
|
|
|
|
cmake --build . --parallel || goto error
|
|
|
|
ninja install || goto error
|
|
|
|
cd ..\.. || goto error
|
|
|
|
|
|
|
|
echo Building Qt Translations...
|
|
|
|
rmdir /S /Q "qttranslations-everywhere-src-%QT%"
|
|
|
|
%SEVENZIP% x "qttranslations-everywhere-src-%QT%.zip" || goto error
|
|
|
|
cd "qttranslations-everywhere-src-%QT%" || goto error
|
|
|
|
mkdir build || goto error
|
|
|
|
cd build || goto error
|
|
|
|
call "%INSTALLDIR%\bin\qt-configure-module.bat" .. || goto error
|
|
|
|
cmake --build . --parallel || goto error
|
|
|
|
ninja install || goto error
|
|
|
|
cd ..\.. || goto error
|
|
|
|
|
|
|
|
echo Cleaning up...
|
|
|
|
cd ..
|
|
|
|
rd /S /Q deps-build
|
|
|
|
|
|
|
|
echo Exiting with success.
|
|
|
|
exit 0
|
|
|
|
|
|
|
|
:error
|
|
|
|
echo Failed with error #%errorlevel%.
|
|
|
|
pause
|
|
|
|
exit %errorlevel%
|
|
|
|
|
|
|
|
:downloadfile
|
|
|
|
if not exist "%~1" (
|
|
|
|
echo Downloading %~1 from %~2...
|
|
|
|
curl -L -o "%~1" "%~2" || goto error
|
|
|
|
)
|
|
|
|
|
|
|
|
rem based on https://gist.github.com/gsscoder/e22daefaff9b5d8ac16afb070f1a7971
|
|
|
|
set idx=0
|
|
|
|
for /f %%F in ('certutil -hashfile "%~1" SHA256') do (
|
|
|
|
set "out!idx!=%%F"
|
|
|
|
set /a idx += 1
|
|
|
|
)
|
|
|
|
set filechecksum=%out1%
|
|
|
|
|
|
|
|
if /i %~3==%filechecksum% (
|
|
|
|
echo Validated %~1.
|
|
|
|
exit /B 0
|
|
|
|
) else (
|
|
|
|
echo Expected %~3 got %filechecksum%.
|
|
|
|
exit /B 1
|
|
|
|
)
|