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" |
1ce0716b |
23 | set "HAVE_GLES2=false" |
f60111dc |
24 | set "HAVE_D3D=false" |
910970ab |
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 exist "%~dp0custom.bat" ( |
33 | call "%~dp0custom.bat" %1 %2 %3 %4 %5 |
34 | ) |
35 | |
e31a8e52 |
36 | if not ["%CASROOT%"] == [""] if exist "%SCRIPTROOT%\%CASROOT%" set "CASROOT=%SCRIPTROOT%\%CASROOT%" |
37 | if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%" |
38 | |
910970ab |
39 | rem ----- Read script arguments (override local settings) ----- |
40 | if not ["%1"] == [""] set "VCVER=%1" |
41 | if not ["%2"] == [""] set "ARCH=%2" |
42 | if /I ["%ARCH%"] == ["win32"] set "ARCH=32" |
43 | if /I ["%ARCH%"] == ["win64"] set "ARCH=64" |
44 | if /I ["%3"] == ["debug"] set "CASDEB=d" |
45 | if /I ["%3"] == ["d"] set "CASDEB=d" |
316d77d9 |
46 | if /I ["%3"] == ["i"] set "CASDEB=i" |
47 | if /I ["%3"] == ["relwithdeb"] set "CASDEB=i" |
910970ab |
48 | |
72c37458 |
49 | set "CSF_OPT_LIB32D=%CSF_OPT_LIB32%" |
50 | set "CSF_OPT_LIB64D=%CSF_OPT_LIB64%" |
51 | set "CSF_OPT_BIN32D=%CSF_OPT_BIN32%" |
52 | set "CSF_OPT_BIN64D=%CSF_OPT_BIN64%" |
53 | set "CSF_OPT_LIB32I=%CSF_OPT_LIB32%" |
54 | set "CSF_OPT_LIB64I=%CSF_OPT_LIB64%" |
55 | set "CSF_OPT_BIN32I=%CSF_OPT_BIN32%" |
56 | set "CSF_OPT_BIN64I=%CSF_OPT_BIN64%" |
910970ab |
57 | |
58 | rem ----- Optional 3rd-parties should be enabled by HAVE macros ----- |
59 | set "CSF_OPT_CMPL=" |
60 | set "PRODUCTS_DEFINES=" |
61 | if ["%HAVE_TBB%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_TBB" |
62 | if ["%HAVE_OPENCL%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_OPENCL" |
63 | if ["%HAVE_GL2PS%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_GL2PS" |
64 | if ["%HAVE_FREEIMAGE%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_FREEIMAGE" |
65 | if ["%HAVE_VTK%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_VTK" |
1ce0716b |
66 | if ["%HAVE_GLES2%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_GLES2" |
f60111dc |
67 | if ["%HAVE_D3D%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_D3D" |
910970ab |
68 | if ["%HAVE_TBB%"] == ["true"] set "CSF_DEFINES=HAVE_TBB;%CSF_DEFINES%" |
69 | if ["%HAVE_OPENCL%"] == ["true"] set "CSF_DEFINES=HAVE_OPENCL;%CSF_DEFINES%" |
70 | if ["%HAVE_GL2PS%"] == ["true"] set "CSF_DEFINES=HAVE_GL2PS;%CSF_DEFINES%" |
71 | if ["%HAVE_FREEIMAGE%"] == ["true"] set "CSF_DEFINES=HAVE_FREEIMAGE;%CSF_DEFINES%" |
72 | if ["%HAVE_VTK%"] == ["true"] set "CSF_DEFINES=HAVE_VTK;%CSF_DEFINES%" |
1ce0716b |
73 | if ["%HAVE_GLES2%"] == ["true"] set "CSF_DEFINES=HAVE_GLES2;%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 | |
4b3541c6 |
109 | rem ----- Default paths to sub-folders (can be different in install env) ----- |
110 | if "%CSF_OCCTIncludePath%" == "" set "CSF_OCCTIncludePath=%CASROOT%\inc" |
111 | if "%CSF_OCCTResourcePath%" == "" set "CSF_OCCTResourcePath=%CASROOT%\src" |
112 | if "%CSF_OCCTSamplesPath%" == "" set "CSF_OCCTSamplesPath=%CASROOT%\samples" |
113 | if "%CSF_OCCTDataPath%" == "" set "CSF_OCCTDataPath=%CASROOT%\data" |
114 | if "%CSF_OCCTTestsPath%" == "" set "CSF_OCCTTestsPath=%CASROOT%\tests" |
115 | if "%CSF_OCCTBinPath%" == "" set "CSF_OCCTBinPath=%CASROOT%\win%ARCH%\%VCVER%\bin%CASDEB%" |
116 | if "%CSF_OCCTLibPath%" == "" set "CSF_OCCTLibPath=%CASROOT%\win%ARCH%\%VCVER%\lib%CASDEB%" |
910970ab |
117 | |
118 | rem ----- Set path to 3rd party and OCCT libraries ----- |
4b3541c6 |
119 | set "PATH=%CSF_OCCTBinPath%;%PATH%" |
316d77d9 |
120 | if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32%;%PATH%" |
121 | if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64%;%PATH%" |
122 | if ["%CASDEB%"] == ["d"] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32D%;%PATH%" |
123 | if ["%CASDEB%"] == ["d"] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64D%;%PATH%" |
316d77d9 |
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%" |
910970ab |
126 | |
127 | rem ----- Set envoronment variables used by OCCT ----- |
128 | set CSF_LANGUAGE=us |
129 | set MMGT_CLEAR=1 |
4b3541c6 |
130 | set "CSF_SHMessage=%CSF_OCCTResourcePath%\SHMessage" |
131 | set "CSF_MDTVTexturesDirectory=%CSF_OCCTResourcePath%\Textures" |
132 | set "CSF_ShadersDirectory=%CSF_OCCTResourcePath%\Shaders" |
133 | set "CSF_XSMessage=%CSF_OCCTResourcePath%\XSMessage" |
134 | set "CSF_TObjMessage=%CSF_OCCTResourcePath%\TObj" |
135 | set "CSF_StandardDefaults=%CSF_OCCTResourcePath%\StdResource" |
136 | set "CSF_PluginDefaults=%CSF_OCCTResourcePath%\StdResource" |
137 | set "CSF_XCAFDefaults=%CSF_OCCTResourcePath%\StdResource" |
138 | set "CSF_TObjDefaults=%CSF_OCCTResourcePath%\StdResource" |
139 | set "CSF_StandardLiteDefaults=%CSF_OCCTResourcePath%\StdResource" |
4b3541c6 |
140 | set "CSF_IGESDefaults=%CSF_OCCTResourcePath%\XSTEPResource" |
141 | set "CSF_STEPDefaults=%CSF_OCCTResourcePath%\XSTEPResource" |
142 | set "CSF_XmlOcafResource=%CSF_OCCTResourcePath%\XmlOcafResource" |
143 | set "CSF_MIGRATION_TYPES=%CSF_OCCTResourcePath%\StdResource\MigrationSheet.txt" |
910970ab |
144 | |
145 | rem Draw Harness special stuff |
4b3541c6 |
146 | if exist "%CSF_OCCTResourcePath%\DrawResources\DrawDefault" ( |
147 | set "DRAWDEFAULT=%CSF_OCCTResourcePath%\DrawResources\DrawDefault" |
148 | ) |
149 | if exist "%CSF_OCCTResourcePath%\DrawResources" ( |
150 | set "DRAWHOME=%CSF_OCCTResourcePath%\DrawResources" |
910970ab |
151 | set "CSF_DrawPluginDefaults=%DRAWHOME%" |
152 | ) |
910970ab |
153 | goto :eof |
154 | |
155 | :concatCmplInc |
156 | set "CSF_OPT_CMPL=%CSF_OPT_CMPL% -I%1" |
157 | goto :eof |
158 | |
159 | :concatLib32 |
7c65581d |
160 | rem Compiler options for Code::Blocks: -L for gcc/mingw and /LIBPATH for msvc |
161 | rem set "OPT_LIB32=%OPT_LIB32% /LIBPATH:%1" |
162 | set "OPT_LIB32=%OPT_LIB32% -L%1" |
910970ab |
163 | goto :eof |
164 | |
165 | :concatLib64 |
7c65581d |
166 | rem Compiler options for Code::Blocks: -L for gcc/mingw and /LIBPATH for msvc |
167 | rem set "OPT_LIB64=%OPT_LIB64% /LIBPATH:%1" |
168 | set "OPT_LIB64=%OPT_LIB64% -L%1" |
910970ab |
169 | goto :eof |