0028189: Result of Boolean operation is non-manifold wire
[occt.git] / adm / templates / env.sh
CommitLineData
910970ab 1#!/bin/bash
2
3# go to the script directory
4aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
5
910970ab 6# Reset values
e31a8e52 7export CASROOT="__CASROOT__"
910970ab 8export CASDEB=""
c7d774c5 9export TARGET="";
910970ab 10export HAVE_TBB="false";
11export HAVE_OPENCL="false";
12export HAVE_FREEIMAGE="false";
13export HAVE_GL2PS="false";
14export HAVE_VTK="false";
1ce0716b 15export HAVE_GLES2="false";
910970ab 16export MACOSX_USE_GLX="false";
17export CSF_OPT_INC=""
18export CSF_OPT_LIB32=""
19export CSF_OPT_LIB64=""
20export CSF_OPT_BIN32=""
21export CSF_OPT_BIN64=""
22
23# ----- Set local settings -----
e31a8e52 24if [ "${CASROOT}" != "" ] && [ -e "${CASROOT}/custom.sh" ]; then source "${CASROOT}/custom.sh"; fi
910970ab 25if [ -e "${aScriptPath}/custom.sh" ]; then source "${aScriptPath}/custom.sh"; fi
26
e31a8e52 27if [ "${CASROOT}" != "" ] && [ -d "${aScriptPath}/${CASROOT}" ]; then
28 export CASROOT="${aScriptPath}/${CASROOT}"
29fi
30if [ "${CASROOT}" == "" ]; then
31 export CASROOT="${aScriptPath}"
32fi
33
910970ab 34# Read script arguments
35shopt -s nocasematch
c7d774c5 36for i in $*
37do
38 if [ "$i" == "d" ] || [ "$i" == "debug" ]; then
39 export CASDEB="d"
316d77d9 40 elif [ "$i" == "i" ] || [ "$i" == "relwithdeb" ]; then
41 export CASDEB="i"
c7d774c5 42 elif [ "$i" == "cbp" ]; then
43 export TARGET="cbp";
44 elif [ "$i" == "xcd" ] || [ "$i" == "xcode" ]; then
45 export TARGET="xcd";
46 fi
47done
910970ab 48shopt -u nocasematch
49
50# ----- Setup Environment Variables -----
51anArch=`uname -m`
52if [ "$anArch" != "x86_64" ] && [ "$anArch" != "ia64" ]; then
53 export ARCH="32";
54else
55 export ARCH="64";
56fi
57
58aSystem=`uname -s`
59if [ "$aSystem" == "Darwin" ]; then
60 export WOKSTATION="mac";
61 export ARCH="64";
62else
63 export WOKSTATION="lin";
64fi
65
66export CASBIN=""
67if [ "${TARGET}" == "cbp" ]; then
68 export CASBIN="${WOKSTATION}/cbp"
69elif [ "${TARGET}" == "xcd" ]; then
70 export CASBIN="adm/mac/xcd/build"
71fi
72
73export CSF_OPT_INC="${CSF_OPT_INC}:${CASROOT}/inc"
74
75if [ "${TARGET}" == "cbp" ]; then
76 export CSF_OPT_LIB32D="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/libd"
77 export CSF_OPT_LIB64D="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/libd"
78 export CSF_OPT_LIB32="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/lib"
79 export CSF_OPT_LIB64="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/lib"
316d77d9 80 export CSF_OPT_LIB32I="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/libi"
81 export CSF_OPT_LIB64I="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/libi"
910970ab 82elif [ "${TARGET}" == "xcd" ]; then
83 export CSF_OPT_LIB32D="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Debug"
84 export CSF_OPT_LIB64D="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Debug"
85 export CSF_OPT_LIB32="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Release"
86 export CSF_OPT_LIB64="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Release"
316d77d9 87 export CSF_OPT_LIB32I="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/RelWithDebInfo"
88 export CSF_OPT_LIB64I="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/RelWithDebInfo"
910970ab 89fi
90
91export CSF_OPT_CMPL=""
92
93# Optiona 3rd-parties should be enabled by HAVE macros
94if [ "$HAVE_TBB" == "true" ]; then
95 export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_TBB"
96fi
97if [ "$HAVE_OPENCL" == "true" ]; then
98 export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_OPENCL"
99fi
100if [ "$HAVE_FREEIMAGE" == "true" ]; then
101 export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_FREEIMAGE"
102fi
103if [ "$HAVE_GL2PS" == "true" ]; then
104 export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_GL2PS"
105fi
1ce0716b 106if [ "$HAVE_GLES2" == "true" ]; then
107 export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_GLES2"
108fi
910970ab 109if [ "$HAVE_VTK" == "true" ]; then
110 export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_VTK"
111fi
112# Option to compile OCCT with X11 libs on Mac OS X
113if [ "$MACOSX_USE_GLX" == "true" ]; then
114 export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DMACOSX_USE_GLX"
115fi
116
117# To split string into array
118aDelimBack=$IFS
119IFS=":"
120
121# 3rd-parties additional include paths
122set -- "$CSF_OPT_INC"
123declare -a aPartiesIncs=($*)
124for anItem in ${aPartiesIncs[*]}
125do
126 export CSF_OPT_CMPL="${CSF_OPT_CMPL} -I${anItem}";
127done
128
129# Append 3rd-parties to LD_LIBRARY_PATH
130if [ "$ARCH" == "32" ]; then
131 set -- "$CSF_OPT_LIB32"
132 declare -a aPartiesLibs=($*)
133 set -- "$CSF_OPT_LIB32D"
134 declare -a aPartiesLibsDeb=($*)
316d77d9 135 set -- "$CSF_OPT_LIB32I"
136 declare -a aPartiesLibsRelWithDebInfo=($*)
910970ab 137else
138 set -- "$CSF_OPT_LIB64"
139 declare -a aPartiesLibs=($*)
140 set -- "$CSF_OPT_LIB64D"
141 declare -a aPartiesLibsDeb=($*)
316d77d9 142 set -- "$CSF_OPT_LIB64I"
143 declare -a aPartiesLibsRelWithDebInfo=($*)
910970ab 144fi
145
146# Turn back value
147IFS=$aDelimBack
148
149OPT_LINKER_OPTIONS_DEB=""
150for anItem in ${aPartiesLibsDeb[*]}
151do
152 OPT_LINKER_OPTIONS_DEB="${OPT_LINKER_OPTIONS_DEB} -L${anItem}"
153done
154
316d77d9 155OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO=""
156for anItem in ${aPartiesLibsRelWithDebInfo[*]}
157do
158 OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO="${OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO} -L${anItem}"
159done
160
910970ab 161OPT_LINKER_OPTIONS=""
162for anItem in ${aPartiesLibs[*]}
163do
164 if [ "${LD_LIBRARY_PATH}" == "" ]; then
165 export LD_LIBRARY_PATH="${anItem}"
166 else
167 export LD_LIBRARY_PATH="${anItem}:${LD_LIBRARY_PATH}"
168 fi
169 OPT_LINKER_OPTIONS="${OPT_LINKER_OPTIONS} -L${anItem}"
170done
171
172if [ "$ARCH" == "64" ]; then
173 export CSF_OPT_LNK64="$OPT_LINKER_OPTIONS"
174 export CSF_OPT_LNK64D="$OPT_LINKER_OPTIONS_DEB"
316d77d9 175 export CSF_OPT_LNK64I="$OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO"
910970ab 176else
177 export CSF_OPT_LNK32="$OPT_LINKER_OPTIONS"
178 export CSF_OPT_LNK32D="$OPT_LINKER_OPTIONS_DEB"
316d77d9 179 export CSF_OPT_LNK32I="$OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO"
910970ab 180fi
181
4b3541c6 182# ----- Default paths to sub-folders (can be different in install env) -----
183export CSF_OCCTIncludePath="${CSF_OCCTIncludePath:-$CASROOT/inc}"
184export CSF_OCCTResourcePath="${CSF_OCCTResourcePath:-$CASROOT/src}"
185export CSF_OCCTSamplesPath="${CSF_OCCTSamplesPath:-$CASROOT/samples}"
186export CSF_OCCTDataPath="${CSF_OCCTDataPath:-$CASROOT/data}"
187export CSF_OCCTTestsPath="${CSF_OCCTTestsPath:-$CASROOT/tests}"
910970ab 188
910970ab 189if [ "${TARGET}" == "xcd" ]; then
4b3541c6 190 if [ "${CASDEB}" == "d" ]; then
191 export CSF_OCCTBinPath="${CSF_OCCTBinPath:-$CASROOT/$CASBIN/Debug}"
192 else
193 export CSF_OCCTBinPath="${CSF_OCCTBinPath:-$CASROOT/$CASBIN/Release}"
194 fi
195 export CSF_OCCTLibPath="${CSF_OCCTLibPath:-$CSF_OCCTBinPath}"
196else
197 export CSF_OCCTBinPath="${CSF_OCCTBinPath:-$CASROOT/$CASBIN/bin$CASDEB}"
198 export CSF_OCCTLibPath="${CSF_OCCTLibPath:-$CASROOT/$CASBIN/lib$CASDEB}"
910970ab 199fi
200
4b3541c6 201export PATH="${CSF_OCCTBinPath}:${PATH}"
202export LD_LIBRARY_PATH="${CSF_OCCTLibPath}:${LD_LIBRARY_PATH}"
910970ab 203if [ "$WOKSTATION" == "mac" ]; then
204 export DYLD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${DYLD_LIBRARY_PATH}"
205fi
206
207# Set envoronment variables used by OCCT
208export CSF_LANGUAGE="us"
209export MMGT_CLEAR="1"
910970ab 210export CSF_SHMessage="${CASROOT}/src/SHMessage"
211export CSF_MDTVTexturesDirectory="${CASROOT}/src/Textures"
212export CSF_ShadersDirectory="${CASROOT}/src/Shaders"
213export CSF_XSMessage="${CASROOT}/src/XSMessage"
214export CSF_TObjMessage="${CASROOT}/src/TObj"
215export CSF_StandardDefaults="${CASROOT}/src/StdResource"
216export CSF_PluginDefaults="${CASROOT}/src/StdResource"
217export CSF_XCAFDefaults="${CASROOT}/src/StdResource"
218export CSF_TObjDefaults="${CASROOT}/src/StdResource"
219export CSF_StandardLiteDefaults="${CASROOT}/src/StdResource"
910970ab 220export CSF_IGESDefaults="${CASROOT}/src/XSTEPResource"
221export CSF_STEPDefaults="${CASROOT}/src/XSTEPResource"
222export CSF_XmlOcafResource="${CASROOT}/src/XmlOcafResource"
223export CSF_MIGRATION_TYPES="${CASROOT}/src/StdResource/MigrationSheet.txt"
224
225# Draw Harness special stuff
226if [ -e "${CASROOT}/src/DrawResources" ]; then
227 export DRAWHOME="${CASROOT}/src/DrawResources"
228 export CSF_DrawPluginDefaults="${DRAWHOME}"
229fi