ES-DE/tools/Windows_dependencies_build.bat
2024-08-09 17:24:08 +02:00

139 lines
2.7 KiB
Batchfile

:: SPDX-License-Identifier: MIT
::
:: ES-DE Frontend
:: Windows_dependencies_build.bat
::
:: Builds the external dependencies in-tree using MSVC.
:: The Windows_dependencies_setup.bat script must have been executed prior to this.
:: All libraries will be recompiled from scratch every time.
::
:: This script needs to run from the root of the repository.
::
@echo off
if not exist .clang-format (
echo You need to run this script from the root of the repository.
goto end
)
if not exist external\pugixml\ (
echo You need to first run tools\Windows_dependencies_setup.bat to download and configure the dependencies.
goto end
)
cd external
echo Building all dependencies in the .\external directory...
echo:
echo Building ICU
if not exist icu/icu4c\ (
echo icu/icu4c directory is missing, aborting.
cd ..
goto end
)
cd icu/icu4c
msbuild source\allinone\allinone.sln /p:Configuration=Release /p:Platform=x64 /p:SkipUWP=true
copy /Y bin64\icudt75.dll ..\..\..\
copy /Y bin64\icuin75.dll ..\..\..\
copy /Y bin64\icuuc75.dll ..\..\..\
copy /Y lib64\icudt.lib ..\..\..\
copy /Y lib64\icuin.lib ..\..\..\
copy /Y lib64\icuuc.lib ..\..\..\
cd ..\..
echo:
echo Building HarfBuzz
if not exist harfbuzz\build\ (
echo harfbuzz directory is missing, aborting.
cd ..
goto end
)
cd harfbuzz\build
if exist CMakeCache.txt (
nmake clean
del CMakeCache.txt
)
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DHB_BUILD_SUBSET=off ..
nmake
copy /Y harfbuzz.dll ..\..\..\
copy /Y harfbuzz.lib ..\..\..\
cd ..\..
echo:
echo Building FreeType
if not exist freetype\build\ (
echo FreeType directory is missing, aborting.
cd ..
goto end
)
cd freetype\build
if exist CMakeCache.txt (
nmake clean
del CMakeCache.txt
)
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON ..
nmake
copy /Y freetype.dll ..\..\..\
copy /Y freetype.lib ..\..\..\
cd ..\..
echo:
echo Building libgit2
if not exist libgit2\build\ (
echo libgit2 directory is missing, aborting.
cd ..
goto end
)
cd libgit2\build
if exist CMakeCache.txt (
nmake clean
del CMakeCache.txt
)
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF ..
nmake
copy /Y git2.dll ..\..\..\
copy /Y git2.lib ..\..\..\
cd ..\..
echo:
echo Building pugixml
if not exist pugixml\ (
echo pugixml directory is missing, aborting.
cd ..
goto end
)
cd pugixml
if exist CMakeCache.txt (
nmake clean
del CMakeCache.txt
)
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON .
nmake
copy /Y pugixml.dll ..\..
copy /Y pugixml.lib ..\..
cd..
:: Return to the root of the repository.
cd ..
echo:
echo Done building all dependencies.
:end