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