c84a9637cdef5ba2e9110c1907956e8c618eaf89
[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%" == "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   )
71 ) else if /I "%VCFMT%" == "gcc" (
72   rem MinGW
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"
96 ) else if /I "%VCFMT%" == "gcc" (
97   rem MinGW
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
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
110 if ["%ARCH%"] == ["32"] set VCARCH=x86
111 if ["%ARCH%"] == ["64"] set VCARCH=amd64
112
113 if /I ["%1"] == ["vc141"] set "VCVER=vc14"
114 if exist "%CASROOT%\custom.bat" (
115   call "%CASROOT%\custom.bat" %VCVER% %ARCH% %CASDEB%
116 )
117
118 if not ["%TCL_DIR%"] == [""]           set "PATH=%TCL_DIR%;%PATH%"
119 if not ["%TK_DIR%"] == [""]            set "PATH=%TK_DIR%;%PATH%"
120 if not ["%FREETYPE_DIR%"] == [""]      set "PATH=%FREETYPE_DIR%;%PATH%"
121 if not ["%FREEIMAGE_DIR%"] == [""]     set "PATH=%FREEIMAGE_DIR%;%PATH%"
122 if not ["%EGL_DIR%"] == [""]           set "PATH=%EGL_DIR%;%PATH%"
123 if not ["%GLES2_DIR%"] == [""]         set "PATH=%GLES2_DIR%;%PATH%"
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%"
127 if not ["%FFMPEG_DIR%"] == [""]        set "PATH=%FFMPEG_DIR%;%PATH%"
128 if not ["%QTDIR%"] == [""]             set "PATH=%QTDIR%/bin;%PATH%"
129
130 rem ----- Set path to 3rd party and OCCT libraries -----
131 if not "%CSF_OCCTBinPath%" == "" (
132   set "PATH=%CSF_OCCTBinPath%;%PATH%"
133 )
134
135 if not ["%TK_DIR%"] == ["%TCL_DIR%"] (
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%"
138 )
139
140 rem ----- Set envoronment variables used by OCCT -----
141 set  CSF_LANGUAGE=us
142 set  MMGT_CLEAR=1
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"
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"
157
158 rem ----- Draw Harness special stuff -----
159 if exist "%CSF_OCCTResourcePath%\DrawResources" (
160   set "DRAWHOME=%CSF_OCCTResourcePath%\DrawResources"
161   set "CSF_DrawPluginDefaults=%CSF_OCCTResourcePath%\DrawResources"
162
163   if exist "%CSF_OCCTResourcePath%\DrawResources\DrawDefault" (
164     set "DRAWDEFAULT=%CSF_OCCTResourcePath%\DrawResources\DrawDefault"
165   )
166 )