Legend:
- Unmodified
- Added
- Removed
-
trunk/Build.cmd
r15682 r16221 1 1 @ECHO OFF 2 3 SET CLEANBEFOREBUILD= 4 5 SET SELECTED= 6 SET CONFIGURATION= 7 SET PLATFORM= 8 9 IF "%~1"=="" GOTO :prompt_solution 10 11 SET SELECTED=%1 12 IF NOT EXIST %SELECTED% ( 13 ECHO Solution file %SELECTED% could not be found. 14 GOTO :end 15 ) 16 ECHO Building solution %SELECTED% ... 17 GOTO :config_selection 18 19 :prompt_solution 20 SET /A COUNT=0 21 FOR /F "tokens=*" %%A IN ('dir /B *.sln') DO ( 22 CALL :forloopbody "%%A" 23 ) 24 25 IF "%COUNT%"=="1" ( 26 SET SELECTED=%SOLUTIONS.1% 27 ECHO Building %SOLUTIONS.1% as it is the only solution that was found ... 28 GOTO :config_selection 29 ) 30 31 ECHO Found the following solutions: 32 FOR /F "tokens=2* delims=.=" %%A IN ('SET SOLUTIONS.') DO ECHO %%A = %%B 33 ECHO. 34 SET /P SOLUTIONINDEX=Which solution to build? Type the number: 35 36 SET SELECTED="" 37 FOR /F "tokens=2* delims=.=" %%A IN ('SET SOLUTIONS.') DO ( 38 IF "%%A"=="%SOLUTIONINDEX%" SET SELECTED=%%B 39 ) 40 41 IF %SELECTED%=="" GOTO :eof 42 43 :config_selection 44 IF "%~2"=="" GOTO :prompt_config 45 46 SET CONFIGURATION=%~2 47 ECHO Building configuration %CONFIGURATION% ... 48 GOTO :platform_selection 49 50 :prompt_config 51 SET /P CONFIGURATION=Which configuration to build [Release]: 52 IF "%CONFIGURATION%"=="" SET CONFIGURATION=Release 53 54 :platform_selection 55 IF "%~3"=="" GOTO :prompt_platform 56 57 SET PLATFORM=%~3 58 ECHO Building platform %PLATFORM% ... 59 GOTO :clean 60 61 :prompt_platform 62 SET /P PLATFORM=Which platform to build [Any CPU]: 63 IF "%PLATFORM%"=="" SET PLATFORM=Any CPU 64 65 :clean 66 IF "%~4"=="" GOTO :prompt_clean 67 68 SET CLEANBEFOREBUILD=%~4 69 GOTO :main 70 71 :prompt_clean 72 SET /P CLEANBEFOREBUILD=Would you like to clean before building [n]: 73 IF "%CLEANBEFOREBUILD%"=="" SET CLEANBEFOREBUILD=n 74 75 :main 76 REM First find the path to the msbuild.exe by performing a registry query 77 FOR /F "tokens=1,3 delims= " %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0"') DO ( 78 IF "%%A"=="MSBuildToolsPath" SET MSBUILDPATH=%%B) 79 80 REM Then execute msbuild to clean and build the solution 81 REM Disable that msbuild creates a cache file of the solution 82 SET MSBuildUseNoSolutionCache=1 83 REM Run msbuild to clean and then build 84 IF "%CLEANBEFOREBUILD%" NEQ "n" ( 85 ECHO Cleaning ... 86 %MSBUILDPATH%msbuild.exe %SELECTED% /target:Clean /p:Configuration="%CONFIGURATION%",Platform="%PLATFORM%" /m:2 /nologo /verbosity:q /clp:ErrorsOnly 87 ) 88 ECHO Building ... 89 %MSBUILDPATH%msbuild.exe %SELECTED% /target:Build /p:Configuration="%CONFIGURATION%",Platform="%PLATFORM%" /m:2 /nologo /verbosity:q /clp:ErrorsOnly 90 91 ECHO. 92 ECHO DONE. 93 94 :end 95 96 PAUSE 97 98 GOTO :eof 99 100 REM This workaround is necessary so that COUNT gets reevaluated 101 :forloopbody 102 SET /A COUNT+=1 103 SET SOLUTIONS.%COUNT%=%1 104 GOTO :eof 2 powershell.exe .\Build.ps1
Note: See TracChangeset
for help on using the changeset viewer.