-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sh
executable file
·139 lines (111 loc) · 5.04 KB
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/bin/zsh
BUILD_EMSCRIPTEN=false
if (( $# == 2 )); then
BUILD_EMSCRIPTEN=true
EMSCRIPTEN_PREFIX=$2
echo "Emscripten prefix: " $EMSCRIPTEN_PREFIX
fi
if (( $# < 1 )); then
echo "Usage: ./build.sh <path_to_repositories>"
exit 0
fi
REPOSITORY_PREFIX=$1
echo "Repository prefix: " $REPOSITORY_PREFIX
CORRADE_PREFIX=${REPOSITORY_PREFIX}"/corrade"
MAGNUM_PREFIX=${REPOSITORY_PREFIX}"/magnum"
MAGNUM_EXTRAS_PREFIX=${REPOSITORY_PREFIX}"/magnum-extras"
MAGNUM_PLUGINS_PREFIX=${REPOSITORY_PREFIX}"/magnum-plugins"
MAGNUM_INTEGRATION_PREFIX=${REPOSITORY_PREFIX}"/magnum-integration"
SDL2_BUILD_PREFIX="build"
EMSCRIPTEN_BUILD_PREFIX="build-emscripten"
echo CORRADE_PREFIX: $CORRADE_PREFIX
echo MAGNUM_PREFIX: $MAGNUM_PREFIX
echo MAGNUM_EXTRAS_PREFIX: $MAGNUM_EXTRAS_PREFIX
# Corrade
cd $CORRADE_PREFIX
rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
rm -rf $SDL2_BUILD_PREFIX
mkdir $SDL2_BUILD_PREFIX
cd $SDL2_BUILD_PREFIX
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j
sudo make install
# Magnum
cd $MAGNUM_PREFIX
rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
rm -rf $SDL2_BUILD_PREFIX
mkdir $SDL2_BUILD_PREFIX
cd $SDL2_BUILD_PREFIX
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_AUDIO=ON -DWITH_DEBUGTOOLS=ON -DWITH_GL=ON -DWITH_MESHTOOLS=ON -DWITH_PRIMITIVES=ON -DWITH_SCENEGRAPH=ON -DWITH_SHADERS=ON -DWITH_TEXT=ON -DWITH_TEXTURETOOLS=ON -DWITH_TRADE=ON -DWITH_SDL2APPLICATION=ON -DWITH_ANYAUDIOIMPORTER=ON -DWITH_ANYIMAGECONVERTER=ON -DWITH_ANYIMAGEIMPORTER=ON -DWITH_ANYSCENEIMPORTER=ON -DWITH_MAGNUMFONT=ON -DWITH_MAGNUMFONTCONVERTER=ON -DWITH_OBJIMPORTER=ON -DWITH_TGAIMPORTER=ON -DWITH_TGAIMAGECONVERTER=ON -DWITH_WAVAUDIOIMPORTER=ON -DWITH_GL_INFO=ON -DWITH_AL_INFO=ON ..
make -j
sudo make install
# Magnum plugins
cd $MAGNUM_PLUGINS_PREFIX
rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
rm -rf $SDL2_BUILD_PREFIX
mkdir $SDL2_BUILD_PREFIX
cd $SDL2_BUILD_PREFIX
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_OPENGEXIMPORTER=ON -DWITH_DDSIMPORTER=ON -DWITH_STBIMAGECONVERTER=ON -DWITH_STBIMAGEIMPORTER=ON -DWITH_STBTRUETYPEFONT=ON ..
make -j
sudo make install
# Magnum extras
cd $MAGNUM_EXTRAS_PREFIX
rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
rm -rf $SDL2_BUILD_PREFIX
mkdir $SDL2_BUILD_PREFIX
cd $SDL2_BUILD_PREFIX
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_UI=ON -DWITH_UI_GALLERY=ON ..
make -j
sudo make install
# Magnum integration
cd $MAGNUM_INTEGRATION_PREFIX
rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
rm -rf $SDL2_BUILD_PREFIX
mkdir $SDL2_BUILD_PREFIX
cd $SDL2_BUILD_PREFIX
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_IMGUI=ON -DIMGUI_DIR=$REPOSITORY_PREFIX/imgui ..
make -j
sudo make install
if [ "$BUILD_EMSCRIPTEN" = true ]; then
cd $CORRADE_PREFIX
rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
rm -rf $EMSCRIPTEN_BUILD_PREFIX
mkdir $EMSCRIPTEN_BUILD_PREFIX
cd $EMSCRIPTEN_BUILD_PREFIX
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="../toolchains/generic/Emscripten-wasm.cmake" -DCMAKE_INSTALL_PREFIX=$EMSCRIPTEN_PREFIX ..
make -j
make install
cd $MAGNUM_PREFIX
rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
rm -rf $EMSCRIPTEN_BUILD_PREFIX
mkdir $EMSCRIPTEN_BUILD_PREFIX
cd $EMSCRIPTEN_BUILD_PREFIX
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_AUDIO=ON -DWITH_DEBUGTOOLS=ON -DWITH_GL=ON -DWITH_MESHTOOLS=ON -DWITH_PRIMITIVES=ON -DWITH_SCENEGRAPH=ON -DWITH_SHADERS=ON -DWITH_TEXT=ON -DWITH_TEXTURETOOLS=ON -DWITH_TRADE=ON -DWITH_SDL2APPLICATION=ON -DWITH_ANYAUDIOIMPORTER=ON -DWITH_ANYIMAGECONVERTER=ON -DWITH_ANYIMAGEIMPORTER=ON -DWITH_ANYSCENEIMPORTER=ON -DWITH_MAGNUMFONT=ON -DWITH_MAGNUMFONTCONVERTER=ON -DWITH_OBJIMPORTER=ON -DWITH_TGAIMPORTER=ON -DWITH_TGAIMAGECONVERTER=ON -DWITH_WAVAUDIOIMPORTER=ON -DWITH_GL_INFO=ON -DWITH_AL_INFO=ON -DCMAKE_TOOLCHAIN_FILE="../toolchains/generic/Emscripten-wasm.cmake" -DCMAKE_INSTALL_PREFIX=$EMSCRIPTEN_PREFIX -DTARGET_GLES2=OFF ..
make -j
make install
cd $MAGNUM_PLUGINS_PREFIX
rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
rm -rf $EMSCRIPTEN_BUILD_PREFIX
mkdir $EMSCRIPTEN_BUILD_PREFIX
cd $EMSCRIPTEN_BUILD_PREFIX
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_OPENGEXIMPORTER=ON -DWITH_DDSIMPORTER=ON -DWITH_STBIMAGECONVERTER=ON -DWITH_STBIMAGEIMPORTER=ON -DWITH_STBTRUETYPEFONT=ON -DBUILD_PLUGINS_STATIC=ON -DCMAKE_TOOLCHAIN_FILE="../toolchains/generic/Emscripten-wasm.cmake" -DCMAKE_INSTALL_PREFIX=$EMSCRIPTEN_PREFIX ..
make -j
make install
cd $MAGNUM_EXTRAS_PREFIX
rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
rm -rf $EMSCRIPTEN_BUILD_PREFIX
mkdir $EMSCRIPTEN_BUILD_PREFIX
cd $EMSCRIPTEN_BUILD_PREFIX
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_UI=ON -DWITH_UI_GALLERY=ON -DCMAKE_TOOLCHAIN_FILE="../toolchains/generic/Emscripten-wasm.cmake" -DCMAKE_INSTALL_PREFIX=$EMSCRIPTEN_PREFIX ..
make -j
make install
# Magnum integration
cd $MAGNUM_INTEGRATION_PREFIX
rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
rm -rf $EMSCRIPTEN_BUILD_PREFIX
mkdir $EMSCRIPTEN_BUILD_PREFIX
cd $EMSCRIPTEN_BUILD_PREFIX
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_IMGUI=ON -DIMGUI_DIR=$REPOSITORY_PREFIX/imgui -DCMAKE_TOOLCHAIN_FILE="../toolchains/generic/Emscripten-wasm.cmake" -DCMAKE_INSTALL_PREFIX=$EMSCRIPTEN_PREFIX ..
make -j
make install
fi