0027197: Configuration - fix compilation issues when using mingw
[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
13 rem ----- Reset values to defaults -----
14 set "CASROOT=__CASROOT__"
15 set "CASDEB="
16 set "VCVER=vc8"
17 set "ARCH=32"
18 set "VCVARS="
19 set "HAVE_TBB=false"
20 set "HAVE_OPENCL=false"
21 set "HAVE_FREEIMAGE=false"
22 set "HAVE_GL2PS=false"
23 set "HAVE_VTK=false"
24 set "HAVE_D3D=false"
25 set "CSF_OPT_INC="
26 set "CSF_OPT_LIB32="
27 set "CSF_OPT_LIB64="
28 set "CSF_OPT_BIN32="
29 set "CSF_OPT_BIN64="
30
31 rem ----- Load local settings -----
32 if not ["%CASROOT%"] == [""] if exist "%CASROOT%\custom.bat" (
33   call "%CASROOT%\custom.bat" %1 %2 %3 %4 %5
34 )
35 if exist "%~dp0custom.bat" (
36   call "%~dp0custom.bat" %1 %2 %3 %4 %5
37 )
38
39 if not ["%CASROOT%"] == [""] if exist "%SCRIPTROOT%\%CASROOT%" set "CASROOT=%SCRIPTROOT%\%CASROOT%"
40 if     ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%"
41
42 rem ----- Read script arguments (override local settings) -----
43 if not ["%1"]    == [""]      set "VCVER=%1"
44 if not ["%2"]    == [""]      set "ARCH=%2"
45 if /I ["%ARCH%"] == ["win32"] set "ARCH=32"
46 if /I ["%ARCH%"] == ["win64"] set "ARCH=64"
47 if /I ["%3"]     == ["debug"] set "CASDEB=d"
48 if /I ["%3"]     == ["d"]     set "CASDEB=d"
49 if /I ["%3"]     == ["i"]     set "CASDEB=i"
50 if /I ["%3"]     == ["relwithdeb"] set "CASDEB=i"
51
52 set "CSF_OPT_INC=%CSF_OPT_INC%;%CASROOT%\inc"
53 set "CSF_OPT_LIB32D=%CSF_OPT_LIB32%;%CASROOT%\win32\%VCVER%\libd"
54 set "CSF_OPT_LIB64D=%CSF_OPT_LIB64%;%CASROOT%\win64\%VCVER%\libd"
55 set "CSF_OPT_BIN32D=%CSF_OPT_BIN32%;%CASROOT%\win32\%VCVER%\bind"
56 set "CSF_OPT_BIN64D=%CSF_OPT_BIN64%;%CASROOT%\win64\%VCVER%\bind"
57 set "CSF_OPT_LIB32I=%CSF_OPT_LIB32%;%CASROOT%\win32\%VCVER%\libi"
58 set "CSF_OPT_LIB64I=%CSF_OPT_LIB64%;%CASROOT%\win64\%VCVER%\libi"
59 set "CSF_OPT_BIN32I=%CSF_OPT_BIN32%;%CASROOT%\win32\%VCVER%\bini"
60 set "CSF_OPT_BIN64I=%CSF_OPT_BIN64%;%CASROOT%\win64\%VCVER%\bini"
61 set "CSF_OPT_LIB32=%CSF_OPT_LIB32%;%CASROOT%\win32\%VCVER%\lib"
62 set "CSF_OPT_LIB64=%CSF_OPT_LIB64%;%CASROOT%\win64\%VCVER%\lib"
63 set "CSF_OPT_BIN32=%CSF_OPT_BIN32%;%CASROOT%\win32\%VCVER%\bin"
64 set "CSF_OPT_BIN64=%CSF_OPT_BIN64%;%CASROOT%\win64\%VCVER%\bin"
65
66 rem ----- Optional 3rd-parties should be enabled by HAVE macros -----
67 set "CSF_OPT_CMPL="
68 set "PRODUCTS_DEFINES="
69 if ["%HAVE_TBB%"]       == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_TBB"
70 if ["%HAVE_OPENCL%"]    == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_OPENCL"
71 if ["%HAVE_GL2PS%"]     == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_GL2PS"
72 if ["%HAVE_FREEIMAGE%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_FREEIMAGE"
73 if ["%HAVE_VTK%"]       == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_VTK"
74 if ["%HAVE_D3D%"]       == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_D3D"
75 if ["%HAVE_TBB%"]       == ["true"] set "CSF_DEFINES=HAVE_TBB;%CSF_DEFINES%"
76 if ["%HAVE_OPENCL%"]    == ["true"] set "CSF_DEFINES=HAVE_OPENCL;%CSF_DEFINES%"
77 if ["%HAVE_GL2PS%"]     == ["true"] set "CSF_DEFINES=HAVE_GL2PS;%CSF_DEFINES%"
78 if ["%HAVE_FREEIMAGE%"] == ["true"] set "CSF_DEFINES=HAVE_FREEIMAGE;%CSF_DEFINES%"
79 if ["%HAVE_VTK%"]       == ["true"] set "CSF_DEFINES=HAVE_VTK;%CSF_DEFINES%"
80 if ["%HAVE_D3D%"]       == ["true"] set "CSF_DEFINES=HAVE_D3D;%CSF_DEFINES%"
81
82 rem Eliminate VS warning
83 if ["%CSF_DEFINES%"]  == [""] set "CSF_DEFINES=;"
84
85 rem ----- Optional 3rd-parties should be enabled by HAVE macros -----
86 if not ["%PRODUCTS_DEFINES%"] == [""] set "CSF_OPT_CMPL=%CSF_OPT_CMPL% %PRODUCTS_DEFINES%"
87
88 rem ----- Colect 3rd-parties additional include paths into compiler options -----
89 for %%a in ("%CSF_OPT_INC:;=";"%") do (
90   set "anItem=%%~a"
91   if not ["%%~a"] == [""] call :concatCmplInc %%~a
92 )
93
94 rem ----- Colect 3rd-parties additional library paths (32-bit) into linker options -----
95 set "OPT_LIB32="
96 for %%a in ("%CSF_OPT_LIB32:;=";"%") do (
97   set "anItem=%%~a"
98   if not ["%%~a"] == [""] call :concatLib32 %%~a
99 )
100
101 rem ----- Colect 3rd-parties additional library paths (64-bit) into linker options -----
102 set "OPT_LIB64="
103 for %%a in ("%CSF_OPT_LIB64:;=";"%") do (
104   set "anItem=%%~a"
105   if not ["%%~a"] == [""] call :concatLib64 %%~a
106 )
107
108 set "CSF_OPT_LNK32=%CSF_OPT_LNK32% %OPT_LIB32%"
109 set "CSF_OPT_LNK64=%CSF_OPT_LNK64% %OPT_LIB64%"
110 set "CSF_OPT_LNK32D=%CSF_OPT_LNK32D% %OPT_LIB32%"
111 set "CSF_OPT_LNK64D=%CSF_OPT_LNK64D% %OPT_LIB64%"
112 set "CSF_OPT_LNK32I=%CSF_OPT_LNK32I% %OPT_LIB32%"
113 set "CSF_OPT_LNK64I=%CSF_OPT_LNK64I% %OPT_LIB64%"
114
115 set "CASBIN=win%ARCH%\%VCVER%"
116
117 rem ----- Set path to 3rd party and OCCT libraries -----
118 set "PATH=%SCRIPTROOT%\%CASBIN%\bin%CASDEB%;%PATH%"
119 if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32%;%PATH%"
120 if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64%;%PATH%"
121 if ["%CASDEB%"] == ["d"] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32D%;%PATH%"
122 if ["%CASDEB%"] == ["d"] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64D%;%PATH%"
123
124 if ["%CASDEB%"] == ["i"] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32I%;%PATH%"
125 if ["%CASDEB%"] == ["i"] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64I%;%PATH%"
126
127 rem ----- Set envoronment variables used by OCCT -----
128 set CSF_LANGUAGE=us
129 set MMGT_CLEAR=1
130 set CSF_EXCEPTION_PROMPT=1
131 set "CSF_SHMessage=%CASROOT%\src\SHMessage"
132 set "CSF_MDTVTexturesDirectory=%CASROOT%\src\Textures"
133 set "CSF_ShadersDirectory=%CASROOT%\src\Shaders"
134 set "CSF_XSMessage=%CASROOT%\src\XSMessage"
135 set "CSF_TObjMessage=%CASROOT%\src\TObj"
136 set "CSF_StandardDefaults=%CASROOT%\src\StdResource"
137 set "CSF_PluginDefaults=%CASROOT%\src\StdResource"
138 set "CSF_XCAFDefaults=%CASROOT%\src\StdResource"
139 set "CSF_TObjDefaults=%CASROOT%\src\StdResource"
140 set "CSF_StandardLiteDefaults=%CASROOT%\src\StdResource"
141 set "CSF_UnitsLexicon=%CASROOT%\src\UnitsAPI\Lexi_Expr.dat"
142 set "CSF_UnitsDefinition=%CASROOT%\src\UnitsAPI\Units.dat"
143 set "CSF_IGESDefaults=%CASROOT%\src\XSTEPResource"
144 set "CSF_STEPDefaults=%CASROOT%\src\XSTEPResource"
145 set "CSF_XmlOcafResource=%CASROOT%\src\XmlOcafResource"
146 set "CSF_MIGRATION_TYPES=%CASROOT%\src\StdResource\MigrationSheet.txt"
147
148 rem Draw Harness special stuff
149 if exist "%CASROOT%\src\DrawResources" (
150   set "DRAWHOME=%CASROOT%\src\DrawResources"
151   set "CSF_DrawPluginDefaults=%DRAWHOME%"
152 )
153 if exist "%SCRIPTROOT%\src\DrawResourcesProducts" (
154   set "CSF_DrawPluginProductsDefaults=%SCRIPTROOT%\src\DrawResourcesProducts"
155 )
156 goto :eof
157
158 :concatCmplInc
159 set "CSF_OPT_CMPL=%CSF_OPT_CMPL% -I%1"
160 goto :eof
161
162 :concatLib32
163 rem Compiler options for Code::Blocks: -L for gcc/mingw and /LIBPATH for msvc
164 rem set "OPT_LIB32=%OPT_LIB32% /LIBPATH:%1"
165 set "OPT_LIB32=%OPT_LIB32% -L%1"
166 goto :eof
167
168 :concatLib64
169 rem Compiler options for Code::Blocks: -L for gcc/mingw and /LIBPATH for msvc
170 rem set "OPT_LIB64=%OPT_LIB64% /LIBPATH:%1"
171 set "OPT_LIB64=%OPT_LIB64% -L%1"
172 goto :eof