@echo off
setlocal

rem Kullanim: insa.bat [Debug^|Release] [temiz] [test] [calistir]
rem Ornek:   insa.bat Release calistir
rem          insa.bat Debug temiz test

set "KOK=%~dp0"
set "YAPI=Release"
set "TEMIZ="
set "TEST="
set "CALISTIR="

:ayrist
if "%~1"=="" goto devam
if /I "%~1"=="Debug"    set "YAPI=Debug"    & shift & goto ayrist
if /I "%~1"=="Release"  set "YAPI=Release"  & shift & goto ayrist
if /I "%~1"=="temiz"    set "TEMIZ=1"       & shift & goto ayrist
if /I "%~1"=="test"     set "TEST=1"        & shift & goto ayrist
if /I "%~1"=="calistir" set "CALISTIR=1"    & shift & goto ayrist
echo Bilinmeyen parametre: %~1
exit /b 1

:devam
set "INSA=%KOK%insa\%YAPI%"
set "VCVARS=D:\__sistem__\ProgramFiles\VsStudio\VC\Auxiliary\Build\vcvars64.bat"
set "NINJA=D:\__sistem__\ProgramFiles\AndroidSdk\cmake\3.22.1\bin\ninja.exe"

if defined TEMIZ if exist "%INSA%" rmdir /s /q "%INSA%"

call "%VCVARS%" >nul 2>&1
if errorlevel 1 echo vcvars64 yuklenemedi & exit /b 1

cmake -S "%KOK%." -B "%INSA%" -G Ninja -DCMAKE_MAKE_PROGRAM="%NINJA%" -DCMAKE_BUILD_TYPE=%YAPI%
if errorlevel 1 exit /b 1

cmake --build "%INSA%"
if errorlevel 1 exit /b 1

if defined TEST (
  ctest --test-dir "%INSA%" --output-on-failure
  if errorlevel 1 exit /b 1
)

if defined CALISTIR "%INSA%\uygulama\fikocad\fikocad.exe"

endlocal
