blob: a73aa7ce72dbb9d334de7e7e51a8616fb87b2ac3 [file] [log] [blame]
@echo on
SETLOCAL ENABLEDELAYEDEXPANSION
SET BUILD_ROOT=%cd%
SET PATH=C:\python36;C:\Program Files\cmake\bin;%PATH%
SET SRC=%cd%\github\marl
cd %SRC%
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
git submodule update --init
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
SET MSBUILD="C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild"
SET CONFIG=Release
mkdir %SRC%\build
cd %SRC%\build
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
IF /I "%BUILD_SYSTEM%"=="cmake" (
cmake .. -G "%BUILD_GENERATOR%" "-DMARL_BUILD_TESTS=1" "-DMARL_BUILD_EXAMPLES=1" "-DMARL_BUILD_BENCHMARKS=1" "-DMARL_WARNINGS_AS_ERRORS=1" "-DMARL_DEBUG_ENABLED=1"
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
%MSBUILD% /p:Configuration=%CONFIG% Marl.sln
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
Release\marl-unittests.exe
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
Release\fractal.exe
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
Release\primes.exe > nul
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
) ELSE IF /I "%BUILD_SYSTEM%"=="bazel" (
REM Fix up the MSYS environment.
wget -q http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-7.3.0-2-any.pkg.tar.xz
wget -q http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libs-7.3.0-2-any.pkg.tar.xz
c:\tools\msys64\usr\bin\bash --login -c "pacman -R --noconfirm catgets libcatgets"
c:\tools\msys64\usr\bin\bash --login -c "pacman -Syu --noconfirm"
c:\tools\msys64\usr\bin\bash --login -c "pacman -Sy --noconfirm mingw-w64-x86_64-crt-git patch"
c:\tools\msys64\usr\bin\bash --login -c "pacman -U --noconfirm mingw-w64-x86_64-gcc*-7.3.0-2-any.pkg.tar.xz"
set PATH=C:\tools\msys64\mingw64\bin;c:\tools\msys64\usr\bin;!PATH!
set BAZEL_SH=C:\tools\msys64\usr\bin\bash.exe
REM Install Bazel
SET BAZEL_DIR=!BUILD_ROOT!\bazel
mkdir !BAZEL_DIR!
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
wget -q https://github.com/bazelbuild/bazel/releases/download/0.29.1/bazel-0.29.1-windows-x86_64.zip
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
unzip -q bazel-0.29.1-windows-x86_64.zip -d !BAZEL_DIR!
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
REM Build and run
!BAZEL_DIR!\bazel test //:tests --test_output=all
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
!BAZEL_DIR!\bazel run //examples:fractal
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
!BAZEL_DIR!\bazel run //examples:primes > nul
if !ERRORLEVEL! neq 0 exit !ERRORLEVEL!
) ELSE (
echo "Unknown build system: %BUILD_SYSTEM%"
exit /b 1
)