0033661: Data Exchange, Step Import - Tessellated GDTs are not imported
[occt.git] / adm / scripts / cmake_gen.sh
1 #!/bin/bash
2
3 # Auxiliary script for semi-automated building of OCCT using cmake.
4 # cmake_custom.sh should be configured with path to 3rd-parties.
5 # OCCT3RDPARTY and FREETYPE_DIR must be specified as mandatory dependencies.
6
7 ScriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
8 SrcRoot="${ScriptDir}/../.."
9
10 INSTALL_DIR="$SrcRoot/install"
11
12 BUILD_DIR=build
13 DEB=
14 CMAKE_BUILD_TYPE=Release
15 if [ "$1" = "-d" ]; then
16   DEB=d
17   BUILD_DIR=${BUILD_DIR}-deb
18   CMAKE_BUILD_TYPE=Debug
19 fi
20 INSTALL_DIR_BIN=lin64/gcc/bin$DEB
21 INSTALL_DIR_LIB=lin64/gcc/lib$DEB
22
23 BUILD_ADDITIONAL_TOOLKITS=
24 BUILD_DOC_Overview=OFF
25 BUILD_Inspector=OFF
26 BUILD_LIBRARY_TYPE=Shared
27 BUILD_PATCH=
28 BUILD_RELEASE_DISABLE_EXCEPTIONS=ON
29 BUILD_WITH_DEBUG=OFF
30 BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
31
32 BUILD_MODULE_ApplicationFramework=ON
33 BUILD_MODULE_DataExchange=ON
34 BUILD_MODULE_DETools=OFF
35 BUILD_MODULE_Draw=ON
36 BUILD_MODULE_ModelingAlgorithms=ON
37 BUILD_MODULE_ModelingData=ON
38 BUILD_MODULE_Visualization=ON
39
40 USE_FFMPEG=OFF
41 USE_FREEIMAGE=OFF
42 USE_GLES2=OFF
43 USE_RAPIDJSON=OFF
44 USE_DRACO=OFF
45 USE_TBB=OFF
46 USE_VTK=OFF
47 AUX_ARGS=
48
49 if [ -f "${ScriptDir}/cmake_custom.sh" ]; then
50   . "${ScriptDir}/cmake_custom.sh"
51 fi
52
53 BUILD_DIR="$SrcRoot/$BUILD_DIR"
54 if [ ! -d "$BUILD_DIR" ]; then mkdir -p "$BUILD_DIR"; fi
55 pushd "$BUILD_DIR"
56  
57 cmake -G "Unix Makefiles" \
58   -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \
59   -D 3RDPARTY_DIR:PATH="$OCCT3RDPARTY" \
60   -D 3RDPARTY_FREETYPE_DIR:PATH="$FREETYPE_DIR" \
61   -D BUILD_ADDITIONAL_TOOLKITS:STRING="$BUILD_ADDITIONAL_TOOLKITS" \
62   -D BUILD_DOC_Overview:BOOL=$BUILD_DOC_Overview \
63   -D BUILD_Inspector:BOOL=$BUILD_Inspector \
64   -D BUILD_LIBRARY_TYPE:STRING=$BUILD_LIBRARY_TYPE \
65   -D BUILD_MODULE_ApplicationFramework:BOOL=$BUILD_MODULE_ApplicationFramework \
66   -D BUILD_MODULE_DataExchange:BOOL=$BUILD_MODULE_DataExchange \
67   -D BUILD_MODULE_DETools:BOOL=$BUILD_MODULE_DETools \
68   -D BUILD_MODULE_Draw:BOOL=$BUILD_MODULE_Draw \
69   -D BUILD_MODULE_FoundationClasses:BOOL=ON \
70   -D BUILD_MODULE_ModelingAlgorithms:BOOL=$BUILD_MODULE_ModelingAlgorithms \
71   -D BUILD_MODULE_ModelingData:BOOL=$BUILD_MODULE_ModelingData \
72   -D BUILD_MODULE_Visualization:BOOL=$BUILD_MODULE_Visualization \
73   -D BUILD_PATCH:PATH="$BUILD_PATCH" \
74   -D BUILD_RELEASE_DISABLE_EXCEPTIONS:BOOL=$BUILD_RELEASE_DISABLE_EXCEPTIONS \
75   -D BUILD_WITH_DEBUG:BOOL=$BUILD_WITH_DEBUG \
76   -D BUILD_ENABLE_FPE_SIGNAL_HANDLER:BOOL=$BUILD_ENABLE_FPE_SIGNAL_HANDLER \
77   -D INSTALL_DIR:PATH="$INSTALL_DIR" \
78   -D INSTALL_DIR_LAYOUT:STRING=Windows \
79   -D INSTALL_DIR_BIN:STRING=$INSTALL_DIR_BIN \
80   -D INSTALL_DIR_LIB:STRING=$INSTALL_DIR_LIB \
81   -D USE_FFMPEG:BOOL=$USE_FFMPEG \
82   -D USE_FREEIMAGE:BOOL=$USE_FREEIMAGE \
83   -D USE_GLES2:BOOL=$USE_GLES2 \
84   -D USE_RAPIDJSON:BOOL=$USE_RAPIDJSON \
85   -D USE_DRACO:BOOL=$USE_DRACO \
86   -D USE_TBB:BOOL=$USE_TBB \
87   -D USE_VTK:BOOL=$USE_VTK \
88   $AUX_ARGS "$SrcRoot"
89
90 popd