]>
Commit | Line | Data |
---|---|---|
f67539c2 TL |
1 | :: |
2 | :: Licensed under the Apache License, Version 2.0 (the "License"); | |
3 | :: you may not use this file except in compliance with the License. | |
4 | :: You may obtain a copy of the License at | |
5 | :: | |
6 | :: http://www.apache.org/licenses/LICENSE-2.0 | |
7 | :: | |
8 | :: Unless required by applicable law or agreed to in writing, software | |
9 | :: distributed under the License is distributed on an "AS IS" BASIS, | |
10 | :: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
11 | :: See the License for the specific language governing permissions and | |
12 | :: limitations under the License. | |
13 | :: | |
14 | ||
15 | @ECHO OFF | |
16 | ||
17 | IF "%PROFILE%" == "MSVC2012" ( | |
18 | CALL "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" %PLATFORM% | |
19 | ) ELSE IF "%PROFILE%" == "MSVC2013" ( | |
20 | CALL "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" %PLATFORM% | |
21 | ) ELSE IF "%PROFILE%" == "MSVC2015" ( | |
22 | CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %PLATFORM% | |
23 | ) ELSE IF "%PROFILE%" == "MSVC2017" ( | |
24 | CALL :SETUPNEWERMSVC || EXIT /B | |
25 | ) ELSE IF "%PROFILE%" == "MINGW" ( | |
26 | REM Supported, nothing special to do here. | |
27 | ) ELSE IF "%PROFILE%" == "CYGWIN" ( | |
28 | REM Supported, nothing special to do here. | |
29 | ) ELSE ( | |
30 | ECHO Unsupported PROFILE=%PROFILE% or PLATFORM=%PLATFORM% | |
31 | EXIT /B 1 | |
32 | ) | |
33 | ||
34 | CALL cl_setcompiler.bat || EXIT /B | |
35 | CALL cl_setgenerator.bat || EXIT /B | |
36 | ||
37 | SET APPVEYOR_SCRIPTS=%APPVEYOR_BUILD_FOLDER%\build\appveyor | |
38 | SET BUILDDIR=%APPVEYOR_BUILD_FOLDER%\..\build\%PROFILE%\%PLATFORM% | |
39 | SET INSTDIR=%APPVEYOR_BUILD_FOLDER%\..\build\%PROFILE%\%PLATFORM% | |
40 | SET SRCDIR=%APPVEYOR_BUILD_FOLDER% | |
41 | ||
42 | :: PLATFORM is x64 or x86 | |
43 | :: NORM_PLATFORM is 64 or 32 | |
44 | SET NORM_PLATFORM=%PLATFORM:~-2,2% | |
45 | IF "%NORM_PLATFORM%" == "86" (SET NORM_PLATFORM=32) | |
46 | ||
47 | IF "%PROFILE:~0,4%" == "MSVC" ( | |
48 | ||
49 | :: FindBoost needs forward slashes so cmake doesn't see something as an escaped character | |
50 | SET BOOST_ROOT=C:/Libraries/boost_%BOOST_VERSION:.=_% | |
51 | SET BOOST_LIBRARYDIR=!BOOST_ROOT!/lib%NORM_PLATFORM%-msvc-%COMPILER:~-3,2%.%COMPILER:~-1,1% | |
52 | SET OPENSSL_ROOT=C:\OpenSSL-Win%NORM_PLATFORM% | |
53 | SET WIN3P=%APPVEYOR_BUILD_FOLDER%\thirdparty | |
54 | ||
55 | IF "%PYTHON_VERSION%" == "" ( | |
56 | SET WITH_PYTHON=OFF | |
57 | ) ELSE ( | |
58 | SET WITH_PYTHON=ON | |
59 | IF /i "%PLATFORM%" == "x64" SET PTEXT=-x64 | |
60 | SET PATH=C:\Python%PYTHON_VERSION:.=%!PTEXT!\scripts;C:\Python%PYTHON_VERSION:.=%!PTEXT!;!PATH! | |
61 | ) | |
62 | IF "%CONFIGURATION%" == "Debug" (SET ZLIB_LIB_SUFFIX=d) | |
63 | ||
64 | IF NOT "%QT_VERSION%" == "" ( | |
65 | IF /i "%PLATFORM%" == "x64" SET QTEXT=_64 | |
66 | SET PATH=C:\Qt\%QT_VERSION%\%PROFILE%!QTEXT!\bin;!PATH! | |
67 | ) | |
68 | ||
69 | ) ELSE IF "%PROFILE:~0,4%" == "MING" ( | |
70 | ||
71 | :: PLATFORM = x86 means MINGWPLAT i686 | |
72 | :: PLATFORM = x64 means MINGWPLAT x86_64 | |
73 | SET MINGWPLAT=x86_64 | |
74 | IF "%PLATFORM%" == "x86" (SET MINGWPLAT=i686) | |
75 | ||
76 | SET BASH=C:\msys64\usr\bin\bash.exe | |
77 | !BASH! -lc "sed -i '/export PATH=\/mingw32\/bin/d' ~/.bash_profile && sed -i '/export PATH=\/mingw64\/bin/d' ~/.bash_profile && echo 'export PATH=/mingw%NORM_PLATFORM%/bin:$PATH' >> ~/.bash_profile" || EXIT /B | |
78 | ||
79 | SET BUILDDIR=%BUILDDIR:\=/% | |
80 | SET BUILDDIR=/c!BUILDDIR:~2! | |
81 | SET INSTDIR=%INSTDIR:\=/% | |
82 | SET INSTDIR=/c!INSTDIR:~2! | |
83 | SET SRCDIR=%SRCDIR:\=/% | |
84 | SET SRCDIR=/c!SRCDIR:~2! | |
85 | ||
86 | ) ELSE IF "%PROFILE:~0,4%" == "CYGW" ( | |
87 | ||
88 | SET CYGWINROOT=C:\cygwin | |
89 | IF "%PLATFORM%" == "x64" (SET CYGWINROOT=!CYGWINROOT!64) | |
90 | ||
91 | SET BASH=!CYGWINROOT!\bin\bash.exe | |
92 | SET SETUP=!CYGWINROOT!\setup-x86 | |
93 | IF "%PLATFORM%" == "x64" (SET SETUP=!SETUP!_64) | |
94 | SET SETUP=!SETUP!.exe | |
95 | ||
96 | SET BUILDDIR=%BUILDDIR:\=/% | |
97 | SET BUILDDIR=/cygdrive/c!BUILDDIR:~2! | |
98 | SET INSTDIR=%INSTDIR:\=/% | |
99 | SET INSTDIR_CYG=/cygdrive/c!INSTDIR:~2! | |
100 | SET SRCDIR=%SRCDIR:\=/% | |
101 | SET SRCDIR=/cygdrive/c!SRCDIR:~2! | |
102 | ||
103 | ) | |
104 | ||
105 | GOTO :EOF | |
106 | ||
107 | :SETUPNEWERMSVC | |
108 | :: If VsDevCmd.bat has already executed, as is the case in the | |
109 | :: msvc2017 docker container, skip this... | |
110 | IF NOT DEFINED VSCMD_VER ( | |
111 | FOR /F "USEBACKQ TOKENS=*" %%i IN (`call "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version "[15.0,16.0)" -property installationPath`) DO ( | |
112 | IF "%MSVCROOT%" == "" (SET MSVCROOT=%%i) | |
113 | ) | |
114 | SET MSVCPLAT=x86 | |
115 | IF "%PLATFORM%" == "x64" (SET MSVCPLAT=amd64) | |
116 | ||
117 | SET CURRENTDIR=%CD% | |
118 | CALL "!MSVCROOT!\Common7\Tools\VsDevCmd.bat" -arch=!MSVCPLAT! || EXIT /B | |
119 | CD %CURRENTDIR% | |
120 | EXIT /B | |
121 | ) | |
122 | :EOF |