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