From f1510489bdbb7b0c2df5f94c806721c8adb4b65f Mon Sep 17 00:00:00 2001 From: Christophe Chevalier Date: Tue, 7 Jun 2016 14:32:05 +0200 Subject: [PATCH] Simplified and reordered the arguments to build.generic.cmd and added default values - always Clean,Rebuild - output folder is now build/bin/{CONFIGURATION}/{ARCH} --- build/build.VS2010.cmd | 4 +-- build/build.VS2012.cmd | 4 +-- build/build.VS2013.cmd | 4 +-- build/build.VS2015.cmd | 4 +-- build/build.generic.cmd | 55 +++++++++++++++++++++++++---------------- 5 files changed, 42 insertions(+), 29 deletions(-) diff --git a/build/build.VS2010.cmd b/build/build.VS2010.cmd index 19c6a52b..c3bc1763 100644 --- a/build/build.VS2010.cmd +++ b/build/build.VS2010.cmd @@ -1,7 +1,7 @@ @echo off rem build 32-bit -call "%~p0%build.generic.cmd" VS2010 Release Rebuild Win32 v100 +call "%~p0%build.generic.cmd" VS2010 Win32 Release v100 rem build 64-bit -call "%~p0%build.generic.cmd" VS2010 Release Rebuild x64 v100 \ No newline at end of file +call "%~p0%build.generic.cmd" VS2010 x64 Release v100 \ No newline at end of file diff --git a/build/build.VS2012.cmd b/build/build.VS2012.cmd index 66439c90..d7399a9d 100644 --- a/build/build.VS2012.cmd +++ b/build/build.VS2012.cmd @@ -1,6 +1,6 @@ @echo off rem build 32-bit -call "%~p0%build.generic.cmd" VS2012 Release Rebuild Win32 v110 +call "%~p0%build.generic.cmd" VS2012 Win32 Release v110 rem build 64-bit -call "%~p0%build.generic.cmd" VS2012 Release Rebuild x64 v110 \ No newline at end of file +call "%~p0%build.generic.cmd" VS2012 x64 Release v110 \ No newline at end of file diff --git a/build/build.VS2013.cmd b/build/build.VS2013.cmd index 220b26b6..486ba6cf 100644 --- a/build/build.VS2013.cmd +++ b/build/build.VS2013.cmd @@ -1,7 +1,7 @@ @echo off rem build 32-bit -call "%~p0%build.generic.cmd" VS2013 Release Rebuild Win32 v120 +call "%~p0%build.generic.cmd" VS2013 Win32 Release v120 rem build 64-bit -call "%~p0%build.generic.cmd" VS2013 Release Rebuild x64 v120 \ No newline at end of file +call "%~p0%build.generic.cmd" VS2013 x64 Release v120 \ No newline at end of file diff --git a/build/build.VS2015.cmd b/build/build.VS2015.cmd index b5784340..abc41c9a 100644 --- a/build/build.VS2015.cmd +++ b/build/build.VS2015.cmd @@ -1,7 +1,7 @@ @echo off rem build 32-bit -call "%~p0%build.generic.cmd" VS2015 Release Rebuild Win32 v140 +call "%~p0%build.generic.cmd" VS2015 Win32 Release v140 rem build 64-bit -call "%~p0%build.generic.cmd" VS2015 Release Rebuild x64 v140 \ No newline at end of file +call "%~p0%build.generic.cmd" VS2015 x64 Release v140 \ No newline at end of file diff --git a/build/build.generic.cmd b/build/build.generic.cmd index 289776bf..502c8db9 100644 --- a/build/build.generic.cmd +++ b/build/build.generic.cmd @@ -1,33 +1,46 @@ @echo off -rem -rem Parameters -rem %1: vs_solution_version: VS solution version: VS2012, VS2013, VS2015 -rem %2: vs_configuration: VS configuration: Debug, Release -rem %3: vs_target: target: Build or Rebuild -rem %4: vs_platform: platform: x64 or Win32 -rem %5: vs_toolset: toolset: v100, v110, v120, v140 -rem +IF "%1%" == "" GOTO display_help -set vs_solution_version=%1 -set vs_configuration=%2 -set vs_target=%3 -set vs_platform=%4 -set vs_toolset=%5 +SET vs_version=%1 -set msbuild="%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" -IF %vs_solution_version% == VS2013 SET msbuild="C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe" -IF %vs_solution_version% == VS2015 SET msbuild="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" +SET vs_platform=%2 +IF "%vs_platform%" == "" SET vs_platform=x64 + +SET vs_configuration=%3 +IF "%vs_configuration%" == "" SET vs_configuration=Release + +SET vs_toolset=%4 + +GOTO build + +:display_help + +echo Syntax: build.generic.cmd vs_version vs_platform vs_configuration vs_toolset +echo vs_version: VS installed version (VS2012, VS2013, VS2015, ...) +echo vs_platform: Platform (x64 or Win32) +echo vs_configuration: VS configuration (Release or Debug) +echo vs_toolset: Platform Toolset (v100, v110, v120, v140) + +EXIT /B 1 + +:build + +SET msbuild="%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" +IF %vs_version% == VS2013 SET msbuild="C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe" +IF %vs_version% == VS2015 SET msbuild="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" rem TODO: Visual Studio "15" (vNext) will use MSBuild 15.0 ? -set project="%~p0\..\projects\VS2010\zstd.sln" +SET project="%~p0\..\projects\VS2010\zstd.sln" -set output=%~p0%bin -set output="%output%/%vs_solution_version%/%vs_platform%/" +SET msbuildparams=/verbosity:minimal /nologo /t:Clean,Build /p:Platform=%vs_platform% /p:Configuration=%vs_configuration% +IF NOT "%vs_toolset%" == "" SET msbuildparams=%msbuildparams% /p:PlatformToolset=%vs_toolset% -set msbuildparams=/verbosity:minimal /p:Platform="%vs_platform%" /p:Configuration="%vs_configuration%" /p:PlatformToolset="%vs_toolset%" /t:Clean,Build /nologo /p:OutDir=%output% +SET output=%~p0%bin +SET output="%output%/%vs_configuration%/%vs_platform%/" +SET msbuildparams=%msbuildparams% /p:OutDir=%output% -echo ### Building %vs_solution_version% project for %vs_configuration% %vs_platform% (%vs_toolset%)... +echo ### Building %vs_version% project for %vs_configuration% %vs_platform% (%vs_toolset%)... echo ### Build Params: %msbuildparams% %msbuild% %project% %msbuildparams%