ac9bfa73b6cdebd3c15ef299aa1faa4e82f69c49
[occt.git] / adm / templates / env.bat
1 @echo off
2
3 rem Use:
4 rem - first argument specifies version of Visual Studio (vc8, vc9, or vc10),
5 rem - second argument specifies architecture (win32 or win64),
6 rem - third argument specifies build mode (Debug or Release)
7 rem Default options are:
8 rem   vc8 win32 Release
9
10 set "SCRIPTROOT=%~dp0"
11 set "SCRIPTROOT=%SCRIPTROOT:~0,-1%"
12 set "CASROOT=__CASROOT__"
13 if not ["%CASROOT%"] == [""] if exist "%SCRIPTROOT%\%CASROOT%" set "CASROOT=%SCRIPTROOT%\%CASROOT%"
14 if     ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%"
15
16 rem ----- Reset values to defaults -----
17 set "CASDEB="
18 set "VCVER=vc8"
19 set "ARCH=32"
20 set "VCVARS="
21 set "HAVE_TBB=false"
22 set "HAVE_OPENCL=false"
23 set "HAVE_FREEIMAGE=false"
24 set "HAVE_GL2PS=false"
25 set "HAVE_OPENCL=false"
26 set "HAVE_VTK=false"
27 set "CSF_OPT_INC="
28 set "CSF_OPT_LIB32="
29 set "CSF_OPT_LIB64="
30 set "CSF_OPT_BIN32="
31 set "CSF_OPT_BIN64="
32
33 rem ----- Load local settings -----
34 if exist "%~dp0custom.bat" (
35   call "%~dp0custom.bat" %1 %2 %3 %4 %5
36 )
37
38 rem ----- Read script arguments (override local settings) -----
39 if not ["%1"]    == [""]      set "VCVER=%1"
40 if not ["%2"]    == [""]      set "ARCH=%2"
41 if /I ["%ARCH%"] == ["win32"] set "ARCH=32"
42 if /I ["%ARCH%"] == ["win64"] set "ARCH=64"
43 if /I ["%3"]     == ["debug"] set "CASDEB=d"
44 if /I ["%3"]     == ["d"]     set "CASDEB=d"
45
46 set "CSF_OPT_INC=%CSF_OPT_INC%;%CASROOT%\inc"
47 set "CSF_OPT_LIB32D=%CSF_OPT_LIB32%;%CASROOT%\win32\%VCVER%\libd"
48 set "CSF_OPT_LIB64D=%CSF_OPT_LIB64%;%CASROOT%\win64\%VCVER%\libd"
49 set "CSF_OPT_BIN32D=%CSF_OPT_BIN32%;%CASROOT%\win32\%VCVER%\bind"
50 set "CSF_OPT_BIN64D=%CSF_OPT_BIN64%;%CASROOT%\win64\%VCVER%\bind"
51 set "CSF_OPT_LIB32=%CSF_OPT_LIB32%;%CASROOT%\win32\%VCVER%\lib"
52 set "CSF_OPT_LIB64=%CSF_OPT_LIB64%;%CASROOT%\win64\%VCVER%\lib"
53 set "CSF_OPT_BIN32=%CSF_OPT_BIN32%;%CASROOT%\win32\%VCVER%\bin"
54 set "CSF_OPT_BIN64=%CSF_OPT_BIN64%;%CASROOT%\win64\%VCVER%\bin"
55
56 rem ----- Optional 3rd-parties should be enabled by HAVE macros -----
57 set "CSF_OPT_CMPL="
58 set "PRODUCTS_DEFINES="
59 if ["%HAVE_TBB%"]       == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_TBB"
60 if ["%HAVE_OPENCL%"]    == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_OPENCL"
61 if ["%HAVE_GL2PS%"]     == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_GL2PS"
62 if ["%HAVE_FREEIMAGE%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_FREEIMAGE"
63 if ["%HAVE_VTK%"]       == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_VTK"
64 if ["%HAVE_TBB%"]       == ["true"] set "CSF_DEFINES=HAVE_TBB;%CSF_DEFINES%"
65 if ["%HAVE_OPENCL%"]    == ["true"] set "CSF_DEFINES=HAVE_OPENCL;%CSF_DEFINES%"
66 if ["%HAVE_GL2PS%"]     == ["true"] set "CSF_DEFINES=HAVE_GL2PS;%CSF_DEFINES%"
67 if ["%HAVE_FREEIMAGE%"] == ["true"] set "CSF_DEFINES=HAVE_FREEIMAGE;%CSF_DEFINES%"
68 if ["%HAVE_VTK%"]       == ["true"] set "CSF_DEFINES=HAVE_VTK;%CSF_DEFINES%"
69
70 rem Eliminate VS warning
71 if ["%CSF_DEFINES%"]  == [""] set "CSF_DEFINES=;"
72
73 rem ----- Optional 3rd-parties should be enabled by HAVE macros -----
74 if not ["%PRODUCTS_DEFINES%"] == [""] set "CSF_OPT_CMPL=%CSF_OPT_CMPL% %PRODUCTS_DEFINES%"
75
76 rem ----- Colect 3rd-parties additional include paths into compiler options -----
77 for %%a in ("%CSF_OPT_INC:;=";"%") do (
78   set "anItem=%%~a"
79   if not ["%%~a"] == [""] call :concatCmplInc %%~a
80 )
81
82 rem ----- Colect 3rd-parties additional library paths (32-bit) into linker options -----
83 set "OPT_LIB32="
84 for %%a in ("%CSF_OPT_LIB32:;=";"%") do (
85   set "anItem=%%~a"
86   if not ["%%~a"] == [""] call :concatLib32 %%~a
87 )
88
89 rem ----- Colect 3rd-parties additional library paths (64-bit) into linker options -----
90 set "OPT_LIB64="
91 for %%a in ("%CSF_OPT_LIB64:;=";"%") do (
92   set "anItem=%%~a"
93   if not ["%%~a"] == [""] call :concatLib64 %%~a
94 )
95
96 set "CSF_OPT_LNK32="
97 set "CSF_OPT_LNK64="
98 set "CSF_OPT_LNK32D="
99 set "CSF_OPT_LNK64D="
100 set "CSF_OPT_LNK32=%CSF_OPT_LNK32% %OPT_LIB32%"
101 set "CSF_OPT_LNK32D=%CSF_OPT_LNK32D% %OPT_LIB32%"
102 set "CSF_OPT_LNK64=%CSF_OPT_LNK64% %OPT_LIB64%"
103 set "CSF_OPT_LNK64D=%CSF_OPT_LNK64D% %OPT_LIB64%"
104
105 set "CASBIN=win%ARCH%\%VCVER%"
106
107 rem ----- Set path to 3rd party and OCCT libraries -----
108 set "PATH=%SCRIPTROOT%\%CASBIN%\bin%CASDEB%;%PATH%"
109 if     ["%CASDEB%"] == [""] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32%;%PATH%"
110 if     ["%CASDEB%"] == [""] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64%;%PATH%"
111 if not ["%CASDEB%"] == [""] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32D%;%PATH%"
112 if not ["%CASDEB%"] == [""] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64D%;%PATH%"
113
114 rem ----- Set envoronment variables used by OCCT -----
115 set CSF_LANGUAGE=us
116 set MMGT_CLEAR=1
117 set CSF_EXCEPTION_PROMPT=1
118 set "CSF_SHMessage=%CASROOT%\src\SHMessage"
119 set "CSF_MDTVTexturesDirectory=%CASROOT%\src\Textures"
120 set "CSF_ShadersDirectory=%CASROOT%\src\Shaders"
121 set "CSF_XSMessage=%CASROOT%\src\XSMessage"
122 set "CSF_TObjMessage=%CASROOT%\src\TObj"
123 set "CSF_StandardDefaults=%CASROOT%\src\StdResource"
124 set "CSF_PluginDefaults=%CASROOT%\src\StdResource"
125 set "CSF_XCAFDefaults=%CASROOT%\src\StdResource"
126 set "CSF_TObjDefaults=%CASROOT%\src\StdResource"
127 set "CSF_StandardLiteDefaults=%CASROOT%\src\StdResource"
128 set "CSF_UnitsLexicon=%CASROOT%\src\UnitsAPI\Lexi_Expr.dat"
129 set "CSF_UnitsDefinition=%CASROOT%\src\UnitsAPI\Units.dat"
130 set "CSF_IGESDefaults=%CASROOT%\src\XSTEPResource"
131 set "CSF_STEPDefaults=%CASROOT%\src\XSTEPResource"
132 set "CSF_XmlOcafResource=%CASROOT%\src\XmlOcafResource"
133 set "CSF_MIGRATION_TYPES=%CASROOT%\src\StdResource\MigrationSheet.txt"
134
135 rem Draw Harness special stuff
136 if exist "%CASROOT%\src\DrawResources" (
137   set "DRAWHOME=%CASROOT%\src\DrawResources"
138   set "CSF_DrawPluginDefaults=%DRAWHOME%"
139 )
140 if exist "%SCRIPTROOT%\src\DrawResourcesProducts" (
141   set "CSF_DrawPluginProductsDefaults=%SCRIPTROOT%\src\DrawResourcesProducts"
142 )
143 goto :eof
144
145 :concatCmplInc
146 set "CSF_OPT_CMPL=%CSF_OPT_CMPL% -I%1"
147 goto :eof
148
149 :concatLib32
150 set "OPT_LIB32=%OPT_LIB32% /LIBPATH:%1"
151 goto :eof
152
153 :concatLib64
154 set "OPT_LIB64=%OPT_LIB64% /LIBPATH:%1"
155 goto :eof