You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
108 lines
3.4 KiB
Batchfile
108 lines
3.4 KiB
Batchfile
@REM @echo off
|
|
|
|
set TOOLCHAIN_VERSION=v20
|
|
set LLVM_VERSION=13.0.1
|
|
|
|
set SVN_BINARY=%CD%\..\..\..\..\Binaries\ThirdParty\svn\Win64\svn.exe
|
|
set CMAKE_BINARY=%CD%\..\..\..\..\Extras\ThirdPartyNotUE\CMake\bin\cmake.exe
|
|
set PYTHON_BINARY=%CD%\..\..\..\..\Binaries\ThirdParty\Python\Win64\python.exe
|
|
set NSIS_BINARY=C:\Program Files (x86)\NSIS\Bin\makensis.exe
|
|
|
|
for %%i in (python.exe) do set PYTHON_BINARY="%%~$PATH:i"
|
|
for %%i in (cmake.exe) do set CMAKE_BINARY="%%~$PATH:i"
|
|
for %%i in (svn.exe) do set SVN_BINARY="%%~$PATH:i"
|
|
|
|
set FILENAME=%TOOLCHAIN_VERSION%_clang-%LLVM_VERSION%-centos7
|
|
|
|
echo Building %FILENAME%.exe...
|
|
|
|
echo.
|
|
echo Using SVN: %SVN_BINARY%
|
|
echo Using CMake: %CMAKE_BINARY%
|
|
echo Using Python: %PYTHON_BINARY%
|
|
|
|
@REM We need to build in a directory with shorter path, so we avoid hitting path max limit.
|
|
set ROOT_DIR=%CD%
|
|
|
|
rm -rf %TEMP:\=/%\clang-build-%LLVM_VERSION%
|
|
mkdir %TEMP%\clang-build-%LLVM_VERSION%
|
|
pushd %TEMP%\clang-build-%LLVM_VERSION%
|
|
|
|
|
|
unzip -o %ROOT_DIR:\=/%/%FILENAME%-windows.zip -d OUTPUT
|
|
|
|
set GIT_LLVM_RELEASE_HASH=43ff75f2c3feef64f9d73328230d34dac8832a91
|
|
|
|
git clone https://github.com/llvm/llvm-project source
|
|
pushd source
|
|
git checkout %GIT_LLVM_RELEASE_HASH%
|
|
popd
|
|
|
|
mkdir build_llvm
|
|
pushd build_llvm
|
|
|
|
%CMAKE_BINARY% -G "Visual Studio 16 2019" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DCMAKE_INSTALL_PREFIX="..\install" -DPYTHON_EXECUTABLE="%PYTHON_BINARY%" "..\source\llvm"
|
|
%CMAKE_BINARY% --build . --target install --config MinSizeRel
|
|
|
|
popd
|
|
|
|
mkdir build_lld
|
|
pushd build_lld
|
|
|
|
%CMAKE_BINARY% -G "Visual Studio 16 2019" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DCMAKE_INSTALL_PREFIX="..\install" -DPYTHON_EXECUTABLE="%PYTHON_BINARY%" -DLLVM_CONFIG_PATH="..\install\bin\llvm-config.exe" "..\source\lld"
|
|
%CMAKE_BINARY% -G "Visual Studio 16 2019" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DCMAKE_INSTALL_PREFIX="..\install" -DPYTHON_EXECUTABLE="%PYTHON_BINARY%" -DLLVM_CONFIG_PATH="..\install\bin\llvm-config.exe" "..\source\lld"
|
|
%CMAKE_BINARY% --build . --target install --config MinSizeRel
|
|
|
|
popd
|
|
|
|
mkdir build_clang
|
|
pushd build_clang
|
|
|
|
%CMAKE_BINARY% -G "Visual Studio 16 2019" -DCMAKE_INSTALL_PREFIX="..\install" -DPYTHON_EXECUTABLE="%PYTHON_BINARY%" "..\source\clang"
|
|
%CMAKE_BINARY% --build . --target install --config MinSizeRel
|
|
|
|
popd
|
|
|
|
|
|
for %%G in (aarch64-unknown-linux-gnueabi x86_64-unknown-linux-gnu) do (
|
|
mkdir OUTPUT\%%G
|
|
mkdir OUTPUT\%%G\bin
|
|
mkdir OUTPUT\%%G\lib
|
|
mkdir OUTPUT\%%G\lib\clang
|
|
copy "install\bin\clang.exe" OUTPUT\%%G\bin
|
|
copy "install\bin\clang++.exe" OUTPUT\%%G\bin
|
|
copy "install\bin\ld.lld.exe" OUTPUT\%%G\bin
|
|
copy "install\bin\lld.exe" OUTPUT\%%G\bin
|
|
copy "install\bin\llvm-ar.exe" OUTPUT\%%G\bin
|
|
copy "install\bin\llvm-profdata.exe" OUTPUT\%%G\bin
|
|
copy "install\bin\llvm-symbolizer.exe" OUTPUT\%%G\bin
|
|
copy "install\bin\llvm-objcopy.exe" OUTPUT\%%G\bin
|
|
copy "install\bin\LTO.dll" OUTPUT\%%G\bin
|
|
xcopy "install\lib\clang" OUTPUT\%%G\lib\clang /s /e /y
|
|
)
|
|
|
|
@REM Create version file
|
|
echo %TOOLCHAIN_VERSION%_clang-%LLVM_VERSION%-centos7> OUTPUT\ToolchainVersion.txt
|
|
|
|
echo Packing final toolchain...
|
|
|
|
pushd OUTPUT
|
|
rm -rf %ROOT_DIR:\=/%/%FILENAME%.zip
|
|
zip %ROOT_DIR:\=/%/%FILENAME%.zip *
|
|
popd
|
|
|
|
if exist "%NSIS_BINARY%" (
|
|
echo Creating %FILENAME%.exe...
|
|
copy %ROOT_DIR%\InstallerScript.nsi .
|
|
"%NSIS_BINARY%" /V4 InstallerScript.nsi
|
|
move %FILENAME%.exe %ROOT_DIR%
|
|
) else (
|
|
echo Skipping installer creation, because makensis.exe was not found.
|
|
echo Install Nullsoft.
|
|
)
|
|
|
|
popd
|
|
|
|
echo.
|
|
echo Done.
|