Files
UnrealEngineUWP/Engine/Build/BatchFiles/Linux/Toolchain/RunMe.bat
Brandon Schaefer 9bc8cb80ac Forgot to submit change here for zlib when building toolchain
#jira none
#rb none

[CL 19542143 by Brandon Schaefer in ue5-main branch]
2022-03-29 10:50:34 -04:00

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.