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