cbabb7c1434da83aa5d560e57641133d39894671
[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 set "PATH=%PATH%;%ProgramFiles(x86)%\Microsoft Visual Studio\Installer"
35
36 rem for vc10-12, interpretation is trivial
37 set VCFMT=%VCVER%
38 set VCLIB=%VCVER:~0,4%
39 set VCPROP=NativeDesktop
40 rem vc14 and later can have optional suffix "-uwp"
41 if "%VCVER:~-4%" == "-uwp" (
42   set VCFMT=%VCVER:~0,-4%
43   set VCLIB=%VCLIB%-uwp
44   set VCPROP=Universal
45 )
46 rem echo VCVER=%VCVER% VCFMT=%VCFMT% VCLIB=%VCLIB% VCPROP=%VCPROP%
47
48 rem ----- Parsing of Visual Studio platform -----
49 set "VisualStudioExpressName=VCExpress"
50
51 if not "%DevEnvDir%" == "" (
52   rem If DevEnvDir is already defined (e.g. in custom.bat), use that value
53 ) else if /I "%VCFMT%" == "vc10" (
54   set "DevEnvDir=%VS100COMNTOOLS%..\IDE"
55 ) else if /I "%VCFMT%" == "vc11" (
56   set "DevEnvDir=%VS110COMNTOOLS%..\IDE"
57   rem Visual Studio Express starting from VS 2012 is called "for Windows Desktop"
58   rem and has a new name for executable - WDExpress
59   set "VisualStudioExpressName=WDExpress"
60 ) else if /I "%VCFMT%" == "vc12" (
61   set "DevEnvDir=%VS120COMNTOOLS%..\IDE"
62   set "VisualStudioExpressName=WDExpress"
63 ) else if /I "%VCFMT%" == "vc14" (
64   set "DevEnvDir=%VS140COMNTOOLS%..\IDE"
65 ) else if /I "%VCFMT%" == "vc141" (
66   for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
67     set "DevEnvDir=%%i\Common7\IDE\"
68   )
69 ) else (
70   echo Error: wrong VS identifier
71   exit /B
72 )
73
74 rem ----- Parsing vcvarsall for qt samples and define PlatformToolset -----
75 if /I "%VCFMT%" == "vc10" (
76   set "VCVARS=%VS100COMNTOOLS%..\..\VC\vcvarsall.bat"
77   set "VCPlatformToolSet=v100"
78 ) else if /I "%VCFMT%" == "vc11" (
79   set "VCVARS=%VS110COMNTOOLS%..\..\VC\vcvarsall.bat"
80   set "VCPlatformToolSet=v110"
81 ) else if /I "%VCFMT%" == "vc12" (
82   set "VCVARS=%VS120COMNTOOLS%..\..\VC\vcvarsall.bat"
83   set "VCPlatformToolSet=v120"
84 ) else if /I "%VCFMT%" == "vc14" (
85   set "VCVARS=%VS140COMNTOOLS%..\..\VC\vcvarsall.bat"
86   set "VCPlatformToolSet=v140"
87 ) else if /I "%VCFMT%" == "vc141" (
88   for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
89     set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
90   )
91   set "VCPlatformToolSet=v141"
92 ) else (
93   echo Error: first argument ^(%VCVER%^) should specify supported version of Visual C++,
94   echo one of: vc10 ^(VS 2010 SP3^), vc11 ^(VS 2012 SP3^), vc12 ^(VS 2013^) or vc14 ^(VS 2015^)
95   exit
96 )
97
98 if ["%ARCH%"] == ["32"] set VCARCH=x86
99 if ["%ARCH%"] == ["64"] set VCARCH=amd64
100
101 if /I ["%1"] == ["vc141"] set "VCVER=vc14"
102 if exist "%~dp0custom.bat" (
103   call "%~dp0custom.bat" %VCVER% %ARCH% %CASDEB%
104 )
105
106 rem for compatability with external application using CASROOT
107 if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%"
108
109 if not ["%TCL_DIR%"] == [""]           set "PATH=%TCL_DIR%;%PATH%"
110 if not ["%TK_DIR%"] == [""]            set "PATH=%TK_DIR%;%PATH%"
111 if not ["%FREETYPE_DIR%"] == [""]      set "PATH=%FREETYPE_DIR%;%PATH%"
112 if not ["%FREEIMAGE_DIR%"] == [""]     set "PATH=%FREEIMAGE_DIR%;%PATH%"
113 if not ["%EGL_DIR%"] == [""]           set "PATH=%EGL_DIR%;%PATH%"
114 if not ["%GLES2_DIR%"] == [""]         set "PATH=%GLES2_DIR%;%PATH%"
115 if not ["%GL2PS_DIR%"] == [""]         set "PATH=%GL2PS_DIR%;%PATH%"
116 if not ["%TBB_DIR%"] == [""]           set "PATH=%TBB_DIR%;%PATH%"
117 if not ["%VTK_DIR%"] == [""]           set "PATH=%VTK_DIR%;%PATH%"
118
119 rem ----- Set path to 3rd party and OCCT libraries -----
120 if not "%CSF_OCCTBinPath%" == "" (
121   set "PATH=%CSF_OCCTBinPath%;%PATH%"
122 )
123
124 if not ["%TK_DIR%"] == ["%TCL_DIR%"] (
125   if not ["%TK_DIR%"] == [""]  set "TK_LIBRARY=%TK_DIR%/../lib/tk%TK_VERSION_WITH_DOT%"
126   if not ["%TCL_DIR%"] == [""] set "TCL_LIBRARY=%TCL_DIR%/../lib/tcl%TCL_VERSION_WITH_DOT%"
127 )
128
129 rem ----- Set envoronment variables used by OCCT -----
130 set  CSF_LANGUAGE=us
131 set  MMGT_CLEAR=1
132 set "CSF_SHMessage=%CSF_OCCTResourcePath%\SHMessage"
133 set "CSF_MDTVTexturesDirectory=%CSF_OCCTResourcePath%\Textures"
134 set "CSF_ShadersDirectory=%CSF_OCCTResourcePath%\Shaders"
135 set "CSF_XSMessage=%CSF_OCCTResourcePath%\XSMessage"
136 set "CSF_TObjMessage=%CSF_OCCTResourcePath%\TObj"
137 set "CSF_StandardDefaults=%CSF_OCCTResourcePath%\StdResource"
138 set "CSF_PluginDefaults=%CSF_OCCTResourcePath%\StdResource"
139 set "CSF_XCAFDefaults=%CSF_OCCTResourcePath%\StdResource"
140 set "CSF_TObjDefaults=%CSF_OCCTResourcePath%\StdResource"
141 set "CSF_StandardLiteDefaults=%CSF_OCCTResourcePath%\StdResource"
142 set "CSF_IGESDefaults=%CSF_OCCTResourcePath%\XSTEPResource"
143 set "CSF_STEPDefaults=%CSF_OCCTResourcePath%\XSTEPResource"
144 set "CSF_XmlOcafResource=%CSF_OCCTResourcePath%\XmlOcafResource"
145 set "CSF_MIGRATION_TYPES=%CSF_OCCTResourcePath%\StdResource\MigrationSheet.txt"
146
147 rem Draw Harness special stuff
148 if exist "%CSF_OCCTResourcePath%\DrawResources" (
149   set "DRAWHOME=%CSF_OCCTResourcePath%\DrawResources"
150   set "CSF_DrawPluginDefaults=%CSF_OCCTResourcePath%\DrawResources"
151
152   if exist "%CSF_OCCTResourcePath%\DrawResources\DrawDefault" (
153     set "DRAWDEFAULT=%CSF_OCCTResourcePath%\DrawResources\DrawDefault"
154   )
155 )