Files
Juliet/misc/launch.bat
T

68 lines
1.6 KiB
Batchfile

@echo off
setlocal
:: --- 1. Argument Parsing Logic ---
set "ARG1="
set "ARG2="
set "ARG3="
set "AUTOCLOSE=0"
set "CUSTOM_EXE="
for %%x in (%*) do (
if /I "%%~x"=="autoclose" (
set "AUTOCLOSE=1"
) else (
if not defined ARG1 (
set "ARG1=%%~x"
) else if not defined ARG2 (
set "ARG2=%%~x"
) else if not defined ARG3 (
set "ARG3=%%~x"
)
)
)
:: Set Defaults
set "COMPILER_TYPE=clang"
set "CONFIG=Debug"
set "APP_EXE=JulietApp.exe"
:: Check for Configuration, Compiler, or custom EXE name
:: (Assuming the custom EXE name is passed as the final argument if needed)
for %%i in (%ARG1% %ARG2% %ARG3%) do (
if /I "%%i"=="Release" set "CONFIG=Release"
if /I "%%i"=="Profile" set "CONFIG=Profile"
if /I "%%i"=="Debug" set "CONFIG=Debug"
if /I "%%i"=="msvc" set "COMPILER_TYPE=msvc"
if /I "%%i"=="clang" set "COMPILER_TYPE=clang"
:: If argument contains .exe, treat it as the target executable name
echo %%i | findstr /i ".exe" >nul && set "APP_EXE=%%i"
)
:: --- 2. Map Compiler to Platform ---
if /I "%COMPILER_TYPE%"=="clang" (
set "PLATFORM=x64Clang"
) else (
set "PLATFORM=x64"
)
:: --- 3. Construct Paths ---
set "APP_DIR=bin\%PLATFORM%-%CONFIG%"
echo --- Launching %APP_EXE% ---
echo Platform: %PLATFORM%
echo Config: %CONFIG%
:: --- 4. Execution ---
if exist "%APP_DIR%\%APP_EXE%" (
pushd "%APP_DIR%"
"%APP_EXE%" %*
popd
) else (
echo [ERROR] Executable not found at: %APP_DIR%\%APP_EXE%
echo Please build first: fbuild JulietApp-%PLATFORM%-%CONFIG%
pause
)
endlocal