xref: /netbsd-src/external/bsd/zstd/dist/build/VS_scripts/build.generic.cmd (revision 3117ece4fc4a4ca4489ba793710b60b0d26bab6c)
1*3117ece4Schristos@echo off
2*3117ece4Schristos
3*3117ece4SchristosIF "%1%" == "" GOTO display_help
4*3117ece4Schristos
5*3117ece4SchristosSETLOCAL
6*3117ece4Schristos
7*3117ece4SchristosSET msbuild_version=%1
8*3117ece4Schristos
9*3117ece4SchristosSET msbuild_platform=%2
10*3117ece4SchristosIF "%msbuild_platform%" == "" SET msbuild_platform=x64
11*3117ece4Schristos
12*3117ece4SchristosSET msbuild_configuration=%3
13*3117ece4SchristosIF "%msbuild_configuration%" == "" SET msbuild_configuration=Release
14*3117ece4Schristos
15*3117ece4SchristosSET msbuild_toolset=%4
16*3117ece4Schristos
17*3117ece4SchristosGOTO build
18*3117ece4Schristos
19*3117ece4Schristos:display_help
20*3117ece4Schristos
21*3117ece4Schristosecho Syntax: build.generic.cmd msbuild_version msbuild_platform msbuild_configuration msbuild_toolset
22*3117ece4Schristosecho   msbuild_version:          VS installed version (VS2012, VS2013, VS2015, VS2017, VS2019, ...)
23*3117ece4Schristosecho   msbuild_platform:         Platform (x64 or Win32)
24*3117ece4Schristosecho   msbuild_configuration:    VS configuration (Release or Debug)
25*3117ece4Schristosecho   msbuild_toolset:          Platform Toolset (v100, v110, v120, v140, v141, v142, ...)
26*3117ece4Schristos
27*3117ece4SchristosEXIT /B 1
28*3117ece4Schristos
29*3117ece4Schristos:build
30*3117ece4Schristos
31*3117ece4SchristosSET msbuild="%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe"
32*3117ece4SchristosSET msbuild_vs2017community="%programfiles(x86)%\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe"
33*3117ece4SchristosSET msbuild_vs2017professional="%programfiles(x86)%\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe"
34*3117ece4SchristosSET msbuild_vs2017enterprise="%programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe"
35*3117ece4SchristosIF %msbuild_version% == VS2013 SET msbuild="%programfiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe"
36*3117ece4SchristosIF %msbuild_version% == VS2015 SET msbuild="%programfiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe"
37*3117ece4SchristosIF %msbuild_version% == VS2017Community SET msbuild=%msbuild_vs2017community%
38*3117ece4SchristosIF %msbuild_version% == VS2017Professional SET msbuild=%msbuild_vs2017professional%
39*3117ece4SchristosIF %msbuild_version% == VS2017Enterprise SET msbuild=%msbuild_vs2017enterprise%
40*3117ece4SchristosIF %msbuild_version% == VS2017 (
41*3117ece4Schristos	IF EXIST %msbuild_vs2017community% SET msbuild=%msbuild_vs2017community%
42*3117ece4Schristos	IF EXIST %msbuild_vs2017professional% SET msbuild=%msbuild_vs2017professional%
43*3117ece4Schristos	IF EXIST %msbuild_vs2017enterprise% SET msbuild=%msbuild_vs2017enterprise%
44*3117ece4Schristos)
45*3117ece4Schristos
46*3117ece4Schristos:: VS2019
47*3117ece4SchristosSET msbuild_vs2019community="%programfiles(x86)%\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe"
48*3117ece4SchristosSET msbuild_vs2019professional="%programfiles(x86)%\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe"
49*3117ece4SchristosSET msbuild_vs2019enterprise="%programfiles(x86)%\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe"
50*3117ece4SchristosIF %msbuild_version% == VS2019 (
51*3117ece4Schristos	IF EXIST %msbuild_vs2019community% SET msbuild=%msbuild_vs2019community%
52*3117ece4Schristos	IF EXIST %msbuild_vs2019professional% SET msbuild=%msbuild_vs2019professional%
53*3117ece4Schristos	IF EXIST %msbuild_vs2019enterprise% SET msbuild=%msbuild_vs2019enterprise%
54*3117ece4Schristos)
55*3117ece4Schristos
56*3117ece4SchristosSET project="%~p0\..\VS2010\zstd.sln"
57*3117ece4Schristos
58*3117ece4SchristosSET msbuild_params=/verbosity:minimal /nologo /t:Clean,Build /p:Platform=%msbuild_platform% /p:Configuration=%msbuild_configuration%
59*3117ece4SchristosIF NOT "%msbuild_toolset%" == "" SET msbuild_params=%msbuild_params% /p:PlatformToolset=%msbuild_toolset%
60*3117ece4Schristos
61*3117ece4SchristosSET output=%~p0%bin
62*3117ece4SchristosSET output="%output%/%msbuild_configuration%/%msbuild_platform%/"
63*3117ece4SchristosSET msbuild_params=%msbuild_params% /p:OutDir=%output%
64*3117ece4Schristos
65*3117ece4Schristosecho ### Building %msbuild_version% project for %msbuild_configuration% %msbuild_platform% (%msbuild_toolset%)...
66*3117ece4Schristosecho ### Build Params: %msbuild_params%
67*3117ece4Schristos
68*3117ece4Schristos%msbuild% %project% %msbuild_params%
69*3117ece4SchristosIF ERRORLEVEL 1 EXIT /B 1
70*3117ece4Schristosecho # Success
71*3117ece4Schristosecho # OutDir: %output%
72*3117ece4Schristosecho #
73