ad211ad3 |
1 | echo off |
2 | |
3 | set "SCRIPTROOT=%~dp0" |
4 | set "SCRIPTROOT=%SCRIPTROOT:~0,-1%" |
5 | |
4b3541c6 |
6 | rem ----- Reset values to defaults ----- |
32856b63 |
7 | set "VCVER=@COMPILER@" |
8 | set "ARCH=@COMPILER_BITNESS@" |
4b3541c6 |
9 | set "CASDEB=" |
a0726e55 |
10 | |
32856b63 |
11 | if not ["%1"] == [""] set "VCVER=%1" |
12 | if not ["%2"] == [""] set "ARCH=%2" |
13 | if /I ["%ARCH%"] == ["win32"] set "ARCH=32" |
14 | if /I ["%ARCH%"] == ["win64"] set "ARCH=64" |
15 | if /I ["%3"] == ["debug"] set "CASDEB=d" |
16 | if /I ["%3"] == ["d"] set "CASDEB=d" |
316d77d9 |
17 | if /I ["%3"] == ["i"] set "CASDEB=i" |
18 | if /I ["%3"] == ["relwithdeb"] set "CASDEB=i" |
ad211ad3 |
19 | |
da67ffb7 |
20 | rem ----- Decode VCVER variable and define related ones ----- |
21 | rem |
22 | rem VCFMT - "vc" followed by full version number of Visual Studio toolset |
23 | rem (same as VCVER without optional suffix "-uwp") |
24 | rem VCLIB - name of folder contining binaries |
25 | rem (same as VCVER except without third version in number) |
26 | rem VCPROP - name of required Visual Studion Workload (starting with VS 2017) |
27 | rem |
28 | rem Note that for VS before 2015 (vc14) always |
29 | rem VCFMT=VCLIB=VCVER and VCPROP=NativeDesktop |
30 | |
31 | rem Since VS 2017, environment variables like VS100COMNTOOLS are not defined |
32 | rem any more, we can only use vswhere.exe tool to find Visual Studio. |
33 | rem Add path to vswhere.exe |
c0f08310 |
34 | if /I not "%VCFMT%" == "gcc" ( |
35 | set "PATH=%PATH%;%ProgramFiles(x86)%\Microsoft Visual Studio\Installer" |
36 | ) |
da67ffb7 |
37 | |
38 | rem for vc10-12, interpretation is trivial |
39 | set VCFMT=%VCVER% |
40 | set VCLIB=%VCVER:~0,4% |
41 | set VCPROP=NativeDesktop |
42 | rem vc14 and later can have optional suffix "-uwp" |
43 | if "%VCVER:~-4%" == "-uwp" ( |
44 | set VCFMT=%VCVER:~0,-4% |
45 | set VCLIB=%VCLIB%-uwp |
46 | set VCPROP=Universal |
47 | ) |
48 | rem echo VCVER=%VCVER% VCFMT=%VCFMT% VCLIB=%VCLIB% VCPROP=%VCPROP% |
49 | |
50 | rem ----- Parsing of Visual Studio platform ----- |
51 | set "VisualStudioExpressName=VCExpress" |
52 | |
53 | if not "%DevEnvDir%" == "" ( |
54 | rem If DevEnvDir is already defined (e.g. in custom.bat), use that value |
55 | ) else if /I "%VCFMT%" == "vc10" ( |
56 | set "DevEnvDir=%VS100COMNTOOLS%..\IDE" |
57 | ) else if /I "%VCFMT%" == "vc11" ( |
58 | set "DevEnvDir=%VS110COMNTOOLS%..\IDE" |
59 | rem Visual Studio Express starting from VS 2012 is called "for Windows Desktop" |
60 | rem and has a new name for executable - WDExpress |
61 | set "VisualStudioExpressName=WDExpress" |
62 | ) else if /I "%VCFMT%" == "vc12" ( |
63 | set "DevEnvDir=%VS120COMNTOOLS%..\IDE" |
64 | set "VisualStudioExpressName=WDExpress" |
65 | ) else if /I "%VCFMT%" == "vc14" ( |
66 | set "DevEnvDir=%VS140COMNTOOLS%..\IDE" |
67 | ) else if /I "%VCFMT%" == "vc141" ( |
68 | for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do ( |
69 | set "DevEnvDir=%%i\Common7\IDE\" |
70 | ) |
c0f08310 |
71 | ) else if /I "%VCFMT%" == "gcc" ( |
72 | rem MinGW |
da67ffb7 |
73 | ) else ( |
74 | echo Error: wrong VS identifier |
75 | exit /B |
76 | ) |
77 | |
78 | rem ----- Parsing vcvarsall for qt samples and define PlatformToolset ----- |
79 | if /I "%VCFMT%" == "vc10" ( |
80 | set "VCVARS=%VS100COMNTOOLS%..\..\VC\vcvarsall.bat" |
81 | set "VCPlatformToolSet=v100" |
82 | ) else if /I "%VCFMT%" == "vc11" ( |
83 | set "VCVARS=%VS110COMNTOOLS%..\..\VC\vcvarsall.bat" |
84 | set "VCPlatformToolSet=v110" |
85 | ) else if /I "%VCFMT%" == "vc12" ( |
86 | set "VCVARS=%VS120COMNTOOLS%..\..\VC\vcvarsall.bat" |
87 | set "VCPlatformToolSet=v120" |
88 | ) else if /I "%VCFMT%" == "vc14" ( |
89 | set "VCVARS=%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" |
90 | set "VCPlatformToolSet=v140" |
91 | ) else if /I "%VCFMT%" == "vc141" ( |
92 | for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do ( |
93 | set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat" |
94 | ) |
95 | set "VCPlatformToolSet=v141" |
c0f08310 |
96 | ) else if /I "%VCFMT%" == "gcc" ( |
97 | rem MinGW |
da67ffb7 |
98 | ) else ( |
99 | echo Error: first argument ^(%VCVER%^) should specify supported version of Visual C++, |
100 | echo one of: vc10 ^(VS 2010 SP3^), vc11 ^(VS 2012 SP3^), vc12 ^(VS 2013^) or vc14 ^(VS 2015^) |
101 | exit |
102 | ) |
103 | |
249dd6ed |
104 | rem ----- For compatability with external application using CASROOT ----- |
105 | if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%" |
106 | |
107 | rem ----- Define path to 3rdparty products ----- |
108 | set "THIRDPARTY_DIR=@3RDPARTY_DIR@" |
109 | |
da67ffb7 |
110 | if ["%ARCH%"] == ["32"] set VCARCH=x86 |
111 | if ["%ARCH%"] == ["64"] set VCARCH=amd64 |
112 | |
113 | if /I ["%1"] == ["vc141"] set "VCVER=vc14" |
249dd6ed |
114 | if exist "%CASROOT%\custom.bat" ( |
115 | call "%CASROOT%\custom.bat" %VCVER% %ARCH% %CASDEB% |
32856b63 |
116 | ) |
ad211ad3 |
117 | |
0a66e59d |
118 | if not ["%TCL_DIR%"] == [""] set "PATH=%TCL_DIR%;%PATH%" |
82f443b6 |
119 | if not ["%TK_DIR%"] == [""] set "PATH=%TK_DIR%;%PATH%" |
0a66e59d |
120 | if not ["%FREETYPE_DIR%"] == [""] set "PATH=%FREETYPE_DIR%;%PATH%" |
121 | if not ["%FREEIMAGE_DIR%"] == [""] set "PATH=%FREEIMAGE_DIR%;%PATH%" |
1ce0716b |
122 | if not ["%EGL_DIR%"] == [""] set "PATH=%EGL_DIR%;%PATH%" |
123 | if not ["%GLES2_DIR%"] == [""] set "PATH=%GLES2_DIR%;%PATH%" |
0a66e59d |
124 | if not ["%GL2PS_DIR%"] == [""] set "PATH=%GL2PS_DIR%;%PATH%" |
125 | if not ["%TBB_DIR%"] == [""] set "PATH=%TBB_DIR%;%PATH%" |
126 | if not ["%VTK_DIR%"] == [""] set "PATH=%VTK_DIR%;%PATH%" |
08f8a185 |
127 | if not ["%FFMPEG_DIR%"] == [""] set "PATH=%FFMPEG_DIR%;%PATH%" |
14bbbdcb |
128 | if not ["%QTDIR%"] == [""] set "PATH=%QTDIR%/bin;%PATH%" |
ad211ad3 |
129 | |
130 | rem ----- Set path to 3rd party and OCCT libraries ----- |
4b3541c6 |
131 | if not "%CSF_OCCTBinPath%" == "" ( |
132 | set "PATH=%CSF_OCCTBinPath%;%PATH%" |
133 | ) |
134 | |
82f443b6 |
135 | if not ["%TK_DIR%"] == ["%TCL_DIR%"] ( |
4b3541c6 |
136 | if not ["%TK_DIR%"] == [""] set "TK_LIBRARY=%TK_DIR%/../lib/tk%TK_VERSION_WITH_DOT%" |
137 | if not ["%TCL_DIR%"] == [""] set "TCL_LIBRARY=%TCL_DIR%/../lib/tcl%TCL_VERSION_WITH_DOT%" |
82f443b6 |
138 | ) |
ad211ad3 |
139 | |
140 | rem ----- Set envoronment variables used by OCCT ----- |
141 | set CSF_LANGUAGE=us |
142 | set MMGT_CLEAR=1 |
4b3541c6 |
143 | set "CSF_SHMessage=%CSF_OCCTResourcePath%\SHMessage" |
144 | set "CSF_MDTVTexturesDirectory=%CSF_OCCTResourcePath%\Textures" |
145 | set "CSF_ShadersDirectory=%CSF_OCCTResourcePath%\Shaders" |
146 | set "CSF_XSMessage=%CSF_OCCTResourcePath%\XSMessage" |
147 | set "CSF_TObjMessage=%CSF_OCCTResourcePath%\TObj" |
148 | set "CSF_StandardDefaults=%CSF_OCCTResourcePath%\StdResource" |
149 | set "CSF_PluginDefaults=%CSF_OCCTResourcePath%\StdResource" |
150 | set "CSF_XCAFDefaults=%CSF_OCCTResourcePath%\StdResource" |
151 | set "CSF_TObjDefaults=%CSF_OCCTResourcePath%\StdResource" |
152 | set "CSF_StandardLiteDefaults=%CSF_OCCTResourcePath%\StdResource" |
4b3541c6 |
153 | set "CSF_IGESDefaults=%CSF_OCCTResourcePath%\XSTEPResource" |
154 | set "CSF_STEPDefaults=%CSF_OCCTResourcePath%\XSTEPResource" |
155 | set "CSF_XmlOcafResource=%CSF_OCCTResourcePath%\XmlOcafResource" |
156 | set "CSF_MIGRATION_TYPES=%CSF_OCCTResourcePath%\StdResource\MigrationSheet.txt" |
ad211ad3 |
157 | |
249dd6ed |
158 | rem ----- Draw Harness special stuff ----- |
4b3541c6 |
159 | if exist "%CSF_OCCTResourcePath%\DrawResources" ( |
160 | set "DRAWHOME=%CSF_OCCTResourcePath%\DrawResources" |
161 | set "CSF_DrawPluginDefaults=%CSF_OCCTResourcePath%\DrawResources" |
ad211ad3 |
162 | |
4b3541c6 |
163 | if exist "%CSF_OCCTResourcePath%\DrawResources\DrawDefault" ( |
164 | set "DRAWDEFAULT=%CSF_OCCTResourcePath%\DrawResources\DrawDefault" |
a0726e55 |
165 | ) |
ad211ad3 |
166 | ) |