@echo off

set type=%1
set mode=%2
set msvc=%3
set libname=%4

rem ************************************************************************
rem * check script arguments

if "%type%"=="dll" goto argonegiven
if "%type%"=="lib" goto argonegiven
goto argproblem
:argonegiven

if "%mode%"=="release" goto argtwogiven
if "%mode%"=="debug" goto argtwogiven
goto argproblem
:argtwogiven

if "%msvc%"=="msvc6" goto argthreegiven
if "%msvc%"=="msvc7" goto argthreegiven
if "%msvc%"=="msvc8" goto argthreegiven
if "%msvc%"=="msvc9" goto argthreegiven
goto argproblem
:argthreegiven

if "%libname%"=="coin2" goto argfourgiven
if "%libname%"=="coin3" goto argfourgiven
if "%libname%"=="simage1" goto argfourgiven
if "%libname%"=="smallchange1" goto argfourgiven
if "%libname%"=="simvoleon1" goto argfourgiven
if "%libname%"=="simvoleon2" goto argfourgiven
if "%libname%"=="nutsnbolts0" goto argfourgiven
if "%libname%"=="soqt1" goto argfourgiven
if "%libname%"=="sowin1" goto argfourgiven
rem goto argproblem
:argfourgiven

goto argtestdone

:argproblem
echo Error with script arguments "%1" "%2" "%3" "%4".
echo Usage:
echo   install-sdk.bat {dll,lib} {release,debug} {msvc6,msvc7,msvc8,msvc9} libname
exit

:argtestdone

rem ************************************************************************
rem * check environment variables

if not "%COINDIR%"=="" goto coindirset
echo The COINDIR environment variable must be set to point to a directory
echo to be able to perform the installation procedure.
exit

:coindirset
if exist %COINDIR%\*.* goto coindirexists
echo The COINDIR environment variable must point to an existing directory
echo to be able to perform the installation procedure.
exit

:coindirexists

rem **********************************************************************
rem * Check that build has been performed...

if "%1"=="dll" goto checkdll
goto checklib

:checkdll

if "%2"=="debug" goto checkdlldebug
goto checkdllrelease

:checkdlldebug
if exist %libname%d.dll goto checkdone
goto checkfailed

:checkdllrelease
if exist %libname%.dll goto checkdone
goto checkfailed

:checklib

if "%2"=="debug" goto checklibdebug
goto checklibrelease

:checklibdebug
if exist %libname%sd.lib goto checkdone
goto checkfailed

:checklibrelease
if exist %libname%s.lib goto checkdone
goto checkfailed

:checkfailed
echo ERROR: You do not seem to have compiled the %2-version of %libname% yet.
exit

:checkdone

rem **********************************************************************

echo Installing to %COINDIR%

rem **********************************************************************
rem * Create all the directories

if exist ..\misc\create-directories.bat goto createdirsexists
goto donecreatedirs
:createdirsexists
echo Creating necessary directories...
call ..\misc\create-directories.bat
:donecreatedirs

rem **********************************************************************
rem * Copy files

if exist ..\misc\install-headers.bat goto installheadersexists
goto doneinstallheaders
:installheadersexists
echo Installing header files...
call ..\misc\install-headers.bat %msvc%
:doneinstallheaders

if exist ..\misc\install-data.bat goto installdataexists
goto doneinstalldata
:installdataexists
echo Installing data files...
call ..\misc\install-data.bat %msvc%
:doneinstalldata

rem **********************************************************************

echo Installing binaries...

if "%1"=="dll" goto installdll
goto installlib

:installdll

if "%2"=="debug" goto installdlldebug
goto installdllrelease

:installdlldebug
xcopy %libname%d.dll %COINDIR%\bin\ /R /Y
xcopy Debug\%libname%d.pdb %COINDIR%\bin\ /R /Y
xcopy Debug\%libname%d.lib %COINDIR%\lib\ /R /Y
goto binariesdone

:installdllrelease
xcopy %libname%.dll %COINDIR%\bin\ /R /Y
xcopy Release\%libname%.lib %COINDIR%\lib\ /R /Y
goto binariesdone

:installlib

if "%2"=="debug" goto installlibdebug
goto installlibrelease

:installlibdebug
xcopy %libname%sd.lib %COINDIR%\lib\ /R /Y
goto binariesdone

:installlibrelease
xcopy %libname%s.lib %COINDIR%\lib\ /R /Y
goto binariesdone

:binariesdone
