Update of environment files
[occt.git] / adm / templates / env.bat.in
1 echo off
2
3 set "SCRIPTROOT=%~dp0"
4 set "SCRIPTROOT=%SCRIPTROOT:~0,-1%"
5
6 rem ----- Reset values to defaults -----
7 set "VCVER=@COMPILER@"
8 set "ARCH=@COMPILER_BITNESS@"
9 set "CASDEB="
10
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"
17 if /I ["%3"]     == ["i"]     set "CASDEB=i"
18 if /I ["%3"]     == ["relwithdeb"] set "CASDEB=i"
19
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
34 if /I not "%VCFMT%" == "gcc" (
35   set "PATH=%PATH%;%ProgramFiles(x86)%\Microsoft Visual Studio\Installer"
36 )
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%" == "vc9" (
56   set "DevEnvDir=%VS90COMNTOOLS%..\IDE"
57 ) else if /I "%VCFMT%" == "vc10" (
58   set "DevEnvDir=%VS100COMNTOOLS%..\IDE"
59 ) else if /I "%VCFMT%" == "vc11" (
60   set "DevEnvDir=%VS110COMNTOOLS%..\IDE"
61   rem Visual Studio Express starting from VS 2012 is called "for Windows Desktop"
62   rem and has a new name for executable - WDExpress
63   set "VisualStudioExpressName=WDExpress"
64 ) else if /I "%VCFMT%" == "vc12" (
65   set "DevEnvDir=%VS120COMNTOOLS%..\IDE"
66   set "VisualStudioExpressName=WDExpress"
67 ) else if /I "%VCFMT%" == "vc14" (
68   set "DevEnvDir=%VS140COMNTOOLS%..\IDE"
69 ) else if /I "%VCFMT%" == "vc141" (
70   for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
71     set "DevEnvDir=%%i\Common7\IDE\"
72   )
73 ) else if /I "%VCFMT%" == "vc142" (
74   for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
75     set "DevEnvDir=%%i\Common7\IDE\"
76   )  
77 ) else if /I "%VCFMT%" == "gcc" (
78   rem MinGW
79 ) else (
80   echo Error: wrong VS identifier
81   exit /B
82 )
83
84 rem ----- Parsing vcvarsall for qt samples and define PlatformToolset -----
85 if /I "%VCFMT%" == "vc9" (
86   set "VCVARS=%VS90COMNTOOLS%..\..\VC\vcvarsall.bat"
87   set "VCPlatformToolSet=v90"
88 ) else if /I "%VCFMT%" == "vc10" (
89   set "VCVARS=%VS100COMNTOOLS%..\..\VC\vcvarsall.bat"
90   set "VCPlatformToolSet=v100"
91 ) else if /I "%VCFMT%" == "vc11" (
92   set "VCVARS=%VS110COMNTOOLS%..\..\VC\vcvarsall.bat"
93   set "VCPlatformToolSet=v110"
94 ) else if /I "%VCFMT%" == "vc12" (
95   set "VCVARS=%VS120COMNTOOLS%..\..\VC\vcvarsall.bat"
96   set "VCPlatformToolSet=v120"
97 ) else if /I "%VCFMT%" == "vc14" (
98   set "VCVARS=%VS140COMNTOOLS%..\..\VC\vcvarsall.bat"
99   set "VCPlatformToolSet=v140"
100 ) else if /I "%VCFMT%" == "vc141" (
101   for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
102     set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
103   )
104   set "VCPlatformToolSet=v141"
105 ) else if /I "%VCFMT%" == "vc142" (
106   for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
107     set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
108   ) 
109   set "VCPlatformToolSet=v142"
110 ) else if /I "%VCFMT%" == "gcc" (
111   rem MinGW
112 ) else (
113   echo Error: first argument ^(%VCVER%^) should specify supported version of Visual C++,
114   echo one of: vc10 ^(VS 2010 SP3^), vc11 ^(VS 2012 SP3^), vc12 ^(VS 2013^) or vc14 ^(VS 2015^)
115   exit
116 )
117
118 rem ----- For compatability with external application using CASROOT -----
119 if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%"
120
121 rem ----- Define path to 3rdparty products -----
122 set "THIRDPARTY_DIR=@3RDPARTY_DIR@"
123
124 if ["%ARCH%"] == ["32"] set VCARCH=x86
125 if ["%ARCH%"] == ["64"] set VCARCH=amd64
126
127 if /I ["%1"] == ["vc141"] set "VCVER=vc14"
128 if exist "%CASROOT%\custom.bat" (
129   call "%CASROOT%\custom.bat" %VCVER% %ARCH% %CASDEB%
130 )
131
132 if not ["%TCL_DIR%"] == [""]           set "PATH=%TCL_DIR%;%PATH%"
133 if not ["%TK_DIR%"] == [""]            set "PATH=%TK_DIR%;%PATH%"
134 if not ["%FREETYPE_DIR%"] == [""]      set "PATH=%FREETYPE_DIR%;%PATH%"
135 if not ["%FREEIMAGE_DIR%"] == [""]     set "PATH=%FREEIMAGE_DIR%;%PATH%"
136 if not ["%EGL_DIR%"] == [""]           set "PATH=%EGL_DIR%;%PATH%"
137 if not ["%GLES2_DIR%"] == [""]         set "PATH=%GLES2_DIR%;%PATH%"
138 if not ["%TBB_DIR%"] == [""]           set "PATH=%TBB_DIR%;%PATH%"
139 if not ["%VTK_DIR%"] == [""]           set "PATH=%VTK_DIR%;%PATH%"
140 if not ["%FFMPEG_DIR%"] == [""]        set "PATH=%FFMPEG_DIR%;%PATH%"
141 if not ["%QTDIR%"] == [""]             set "PATH=%QTDIR%/bin;%PATH%"
142
143 rem ----- Set path to 3rd party and OCCT libraries -----
144 if not "%CSF_OCCTBinPath%" == "" (
145   set "PATH=%CSF_OCCTBinPath%;%PATH%"
146 )
147
148 if not ["%TK_DIR%"] == ["%TCL_DIR%"] (
149   if not ["%TK_DIR%"] == [""]  set "TK_LIBRARY=%TK_DIR%/../lib/tk%TK_VERSION_WITH_DOT%"
150   if not ["%TCL_DIR%"] == [""] set "TCL_LIBRARY=%TCL_DIR%/../lib/tcl%TCL_VERSION_WITH_DOT%"
151 )
152
153 rem ----- Set envoronment variables used by OCCT -----
154 set  CSF_LANGUAGE=us
155 set  MMGT_CLEAR=1
156 set "CSF_SHMessage=%CSF_OCCTResourcePath%\SHMessage"
157 set "CSF_MDTVTexturesDirectory=%CSF_OCCTResourcePath%\Textures"
158 set "CSF_ShadersDirectory=%CSF_OCCTResourcePath%\Shaders"
159 set "CSF_XSMessage=%CSF_OCCTResourcePath%\XSMessage"
160 set "CSF_TObjMessage=%CSF_OCCTResourcePath%\TObj"
161 set "CSF_StandardDefaults=%CSF_OCCTResourcePath%\StdResource"
162 set "CSF_PluginDefaults=%CSF_OCCTResourcePath%\StdResource"
163 set "CSF_XCAFDefaults=%CSF_OCCTResourcePath%\StdResource"
164 set "CSF_TObjDefaults=%CSF_OCCTResourcePath%\StdResource"
165 set "CSF_StandardLiteDefaults=%CSF_OCCTResourcePath%\StdResource"
166 set "CSF_IGESDefaults=%CSF_OCCTResourcePath%\XSTEPResource"
167 set "CSF_STEPDefaults=%CSF_OCCTResourcePath%\XSTEPResource"
168 set "CSF_XmlOcafResource=%CSF_OCCTResourcePath%\XmlOcafResource"
169 set "CSF_MIGRATION_TYPES=%CSF_OCCTResourcePath%\StdResource\MigrationSheet.txt"
170
171 rem ----- Draw Harness special stuff -----
172 if exist "%CSF_OCCTResourcePath%\DrawResources" (
173   set "DRAWHOME=%CSF_OCCTResourcePath%\DrawResources"
174   set "CSF_DrawPluginDefaults=%CSF_OCCTResourcePath%\DrawResources"
175
176   if exist "%CSF_OCCTResourcePath%\DrawResources\DrawDefault" (
177     set "DRAWDEFAULT=%CSF_OCCTResourcePath%\DrawResources\DrawDefault"
178   )
179 )