summaryrefslogtreecommitdiff
path: root/build.cmd
diff options
context:
space:
mode:
authorPat Gavlin <pagavlin@microsoft.com>2016-01-12 11:25:27 -0800
committerPat Gavlin <pagavlin@microsoft.com>2016-01-13 15:29:44 -0800
commit0d0ada00caa03cd2a7d00bb647c5c6bb1a95156a (patch)
tree50ec610d815ce61e489b95dbb2662d78b706ab65 /build.cmd
parent761fa468d2fb09d00044fa1848b884b657191876 (diff)
downloadcoreclr-0d0ada00caa03cd2a7d00bb647c5c6bb1a95156a.tar.gz
coreclr-0d0ada00caa03cd2a7d00bb647c5c6bb1a95156a.tar.bz2
coreclr-0d0ada00caa03cd2a7d00bb647c5c6bb1a95156a.zip
Add configureonly and skipconfigure to builds.
These options allow the developer to either: 1. Run build configuration without actually running the build, or 2. Skip build configuration when running the build. CMake already adds the various CMakeLists.txt files as build dependencies s.t. it will be automatically re-run when necessary.
Diffstat (limited to 'build.cmd')
-rw-r--r--build.cmd17
1 files changed, 17 insertions, 0 deletions
diff --git a/build.cmd b/build.cmd
index 8656c583dc..0ffb18f30a 100644
--- a/build.cmd
+++ b/build.cmd
@@ -48,6 +48,8 @@ set "__LogsDir=%__RootBinDir%\Logs"
set __CleanBuild=
set __MscorlibOnly=
+set __ConfigureOnly=
+set __SkipConfigure=
set __SkipMscorlibBuild=
set __SkipNativeBuild=
set __SkipTestBuild=
@@ -105,6 +107,8 @@ if /i "%1" == "windowsmscorlib" (set __MscorlibOnly=1&set __BuildOS=Windows_
if /i "%1" == "vs2013" (set __VSVersion=%1&shift&goto Arg_Loop)
if /i "%1" == "vs2015" (set __VSVersion=%1&shift&goto Arg_Loop)
+if /i "%1" == "configureonly" (set __ConfigureOnly=1&set __SkipMscorlibBuild=1&set __SkipTestBuild=1&shift&goto Arg_Loop)
+if /i "%1" == "skipconfigure" (set __SkipConfigure=1&shift&goto Arg_Loop)
if /i "%1" == "skipmscorlib" (set __SkipMscorlibBuild=1&shift&goto Arg_Loop)
if /i "%1" == "skipnative" (set __SkipNativeBuild=1&shift&goto Arg_Loop)
if /i "%1" == "skiptests" (set __SkipTestBuild=1&shift&goto Arg_Loop)
@@ -134,6 +138,11 @@ goto Usage
:ArgsDone
+if defined __ConfigureOnly if defined __SkipConfigure (
+ echo "Error: option 'configureonly' is incompatible with 'skipconfigure'
+ goto Usage
+)
+
if defined __SkipMscorlibBuild if defined __MscorlibOnly (
echo Error: option 'skipmscorlib' is incompatible with 'freebsdmscorlib', 'linuxmscorlib', 'osxmscorlib', and 'windowsmscorlib'.
goto Usage
@@ -301,6 +310,8 @@ if not exist "%VSINSTALLDIR%DIA SDK" goto NoDIA
:GenVSSolution
+if defined __SkipConfigure goto SkipConfigure
+
echo %__MsgPrefix%Regenerating the Visual Studio solution
pushd "%__IntermediatesDir%"
@@ -308,6 +319,8 @@ call "%__SourceDir%\pal\tools\gen-buildsys-win.bat" "%__ProjectDir%" %__VSVersio
@if defined __echo @echo on
popd
+:SkipConfigure
+
if not exist "%__IntermediatesDir%\install.vcxproj" (
echo %__MsgPrefix%Error: failed to generate native component build project!
exit /b 1
@@ -358,6 +371,8 @@ REM === Build the CLR VM
REM ===
REM =========================================================================================
+if defined __ConfigureOnly goto SkipNativeBuild
+
echo %__MsgPrefix%Invoking msbuild
set "__BuildLog=%__LogsDir%\CoreCLR_%__BuildOS%__%__BuildArch%__%__BuildType%.log"
@@ -637,6 +652,8 @@ echo respectively^).
echo priority ^<N^> : specify a set of test that will be built and run, with priority N.
echo sequential: force a non-parallel build ^(default is to build in parallel
echo using all processors^).
+echo configureonly: skip all builds; only run CMake ^(default: CMake and builds are run^)
+echo skipconfigure: skip CMake ^(default: CMake is run^)
echo skipmscorlib: skip building mscorlib ^(default: mscorlib is built^).
echo skipnative: skip building native components ^(default: native components are built^).
echo skiptests: skip building tests ^(default: tests are built^).