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