rem Prebuild.exe /target VS2010 

@ECHO OFF

echo ==========================================
echo ==== WhiteCore Prebuild Configuration ====
echo ==========================================
echo.
echo If you wish to customize the configuration, re-run with the switch '-p'
echo   e.g.   runprebuild -p
echo.

rem ## Default "configuration" choice ((r)elease, (d)ebug)
set configuration=d

rem ## Default Visual Studio edition
set vstudio=2010

rem ## Default Framework
set framework=4_0

rem ## Default architecture (86 (for 32bit), 64)
:CheckArch
set bits=AnyCPU
rem if exist "%PROGRAMFILES(X86)%" (set bits=x64)
rem if %bits% == x64 (
rem 	echo Found 64bit architecture
rem )
rem if %bits% == x86 (
rem 	echo Found 32 bit architecture
rem )

rem ## Determine native framework
:CheckOS
set framework=4_5
for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j
if %version% == 10.0 (
	set framework=4_5
	echo Windows 10
)
if %version% == 6.3 (
	set framework=4_5
	echo Windows 8.1 or Server 2012 R2
)
if %version% == 6.2 (
	set framework=4_5
	echo Windows 8 or Server 2012
)
if %version% == 6.1 (
	set framework=4_0
	echo Windows 7 or Server 2008 R2
)
if %version% == 6.0 (
	set framework=3_5
	echo hmmm... Windows Vista or Server 2008
)
if %version% == 5.2 (
	set framework=3_5
	echo hmmm... Windows XP x64 or  Server 2003
)
if %version% == 5.1 (
	set framework=3_5
	echo hmmm... Windows XP
)


rem ## If not requested, skip the prompting
if "%1" =="" goto final
if %1 == -p goto prompt
if %1 == --prompt goto prompt
goto final

:prompt
echo I will now ask you four questions regarding your build.
echo However, if you wish to build for:
echo		%bits% Architecture
echo		.NET %framework%
echo		Visual Studio %vstudio%

echo.
echo Simply tap [ENTER] three times.
echo.
echo Note that you can change these defaults by opening this
echo batch file in a text editor.
echo.

:bits
set /p bits="Choose your architecture (x86, x64, AnyCPU) [%bits%]: "
if %bits%==86 goto configuration
if %bits%==x86 goto configuration
if %bits%==64 goto configuration
if %bits%==x64 goto configuration
if %bits%==AnyCPU goto configuration
if %bits%==anycpu goto configuration
echo "%bits%" isn't a valid choice!
goto bits

:configuration
set /p configuration="Choose your configuration ((r)elease or (d)ebug)? [%configuration%]: "
if %configuration%==r goto framework
if %configuration%==d goto framework
if %configuration%==release goto framework
if %configuration%==debug goto framework
echo "%configuration%" isn't a valid choice!
goto configuration

:framework
set /p framework="Choose your .NET framework (4_0 or 4_5)? [%framework%]: "
if %framework%==4_0 goto final
if %framework%==4_5 goto final
echo "%framework%" isn't a valid choice!
goto framework

:final
echo.
echo Configuring for %bits% architecture using %framework% .NET framework
echo.
echo.


if %framework%==4_5 set %vstudio%=2012

echo Calling Prebuild for target %vstudio% with framework %framework%...
Prebuild.exe /target vs%vstudio% /targetframework v%framework% /conditionals ISWIN;NET_%framework%