|
|
@ -4,93 +4,30 @@ if not exist "bin" ( |
|
|
|
mkdir bin |
|
|
|
) |
|
|
|
|
|
|
|
rem TODO: Use Build.bat in cakelisp instead of copy-pasting |
|
|
|
cd Dependencies/cakelisp |
|
|
|
if not exist "bin" ( |
|
|
|
mkdir bin |
|
|
|
) |
|
|
|
|
|
|
|
rem Set environment variables. The user may need to adjust this path |
|
|
|
rem See https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-160#developer_command_file_locations |
|
|
|
if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" ( |
|
|
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" |
|
|
|
) else ( |
|
|
|
if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" ( |
|
|
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" |
|
|
|
) else ( |
|
|
|
echo This script builds using MSVC. |
|
|
|
echo You must download and install MSVC before it will work. Download it here: |
|
|
|
echo https://visualstudio.microsoft.com/downloads/ |
|
|
|
echo Select workloads for C++ projects. Ensure you install the C++ developer tools. |
|
|
|
echo If you're still seeing this, you may need to edit Build.bat to your vcvars path |
|
|
|
echo Please see the following link: |
|
|
|
echo https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-160 |
|
|
|
goto fail |
|
|
|
)) |
|
|
|
|
|
|
|
if not exist "bin\cakelisp_bootstrap.exe" ( |
|
|
|
goto manualBuild |
|
|
|
) else ( |
|
|
|
goto bootstrapBuild |
|
|
|
if not exist Dependencies/cakelisp ( |
|
|
|
git clone git@github.com:makuto/cakelisp.git Dependencies/cakelisp |
|
|
|
) |
|
|
|
|
|
|
|
:manualBuild |
|
|
|
CL.exe src/Tokenizer.cpp ^ |
|
|
|
src/Evaluator.cpp ^ |
|
|
|
src/Utilities.cpp ^ |
|
|
|
src/FileUtilities.cpp ^ |
|
|
|
src/Converters.cpp ^ |
|
|
|
src/Writer.cpp ^ |
|
|
|
src/Generators.cpp ^ |
|
|
|
src/GeneratorHelpers.cpp ^ |
|
|
|
src/RunProcess.cpp ^ |
|
|
|
src/OutputPreambles.cpp ^ |
|
|
|
src/DynamicLoader.cpp ^ |
|
|
|
src/ModuleManager.cpp ^ |
|
|
|
src/Logging.cpp ^ |
|
|
|
src/Metadata.cpp ^ |
|
|
|
src/Build.cpp ^ |
|
|
|
src/Main.cpp ^ |
|
|
|
/EHsc /MP /DWINDOWS /DCAKELISP_EXPORTING ^ |
|
|
|
/FS /Fe"bin\cakelisp_bootstrap" /Zi /Fd"bin\cakelisp_bootstrap.pdb" /DEBUG:FASTLINK |
|
|
|
echo %ERRORLEVEL% |
|
|
|
cd Dependencies/cakelisp |
|
|
|
call Build.bat |
|
|
|
|
|
|
|
@if %ERRORLEVEL% == 0 ( |
|
|
|
echo Success building |
|
|
|
rem Clean up working directory |
|
|
|
del *.obj |
|
|
|
goto bootstrapBuild |
|
|
|
echo Success building cakelisp |
|
|
|
goto success |
|
|
|
) else ( |
|
|
|
echo Error while building |
|
|
|
echo Error while building cakelisp |
|
|
|
goto fail |
|
|
|
) |
|
|
|
|
|
|
|
:bootstrapBuild |
|
|
|
cd ../../ |
|
|
|
"Dependencies\cakelisp\bin\cakelisp_bootstrap.exe" --verbose-build-reasons src/Config_WindowsBootstrap.cake Dependencies/cakelisp/Bootstrap_MSVC.cake |
|
|
|
@if %ERRORLEVEL% == 0 ( |
|
|
|
echo Success! Use bin\cakelisp.exe to build your programs |
|
|
|
goto build_user |
|
|
|
) else ( |
|
|
|
echo Error while bootstrapping cakelisp |
|
|
|
goto fail |
|
|
|
) |
|
|
|
|
|
|
|
:build_user |
|
|
|
rem "bin\cakelisp.exe" --execute --verbose-processes src/Config_Windows.cake src/GameLibTests.cake |
|
|
|
"bin\cakelisp.exe" --execute --verbose-processes src/Config_Windows.cake src/Config_WindowsBootstrap.cake ../src/AutoTest.cake ../src/DataBundle.cake |
|
|
|
@if %ERRORLEVEL% == 0 ( |
|
|
|
echo Success! |
|
|
|
goto success |
|
|
|
) else ( |
|
|
|
echo Error while building user program |
|
|
|
goto fail |
|
|
|
) |
|
|
|
|
|
|
|
:fail |
|
|
|
goto end |
|
|
|
|
|
|
|
:success |
|
|
|
cd ../../ |
|
|
|
|
|
|
|
"Dependencies/cakelisp/bin/cakelisp.exe" src/Config_WIndows.cake src/GameLibTests.cake --verbose-processes |
|
|
|
goto end |
|
|
|
|
|
|
|
:end |
|
|
|