@@ -30,6 +30,9 @@ function ensure_homebrew_installed {
3030
3131function ensure_cmake {
3232 # Adapted from https://askubuntu.com/questions/355565/how-do-i-install-the-latest-version-of-cmake-from-the-command-line
33+ if [ -d /opt/cmake ]; then
34+ return
35+ fi
3336 local version
3437 local build
3538 local tmpdir
@@ -49,131 +52,37 @@ function ensure_cmake {
4952
5053function ensure_debian_devtools_installed {
5154 $SUDO apt-get -qq update
52- $SUDO apt-get -qq install build-essential git libsdl2-dev libsdl2-image-dev curl
55+ $SUDO apt-get -qq install build-essential git libsdl2-dev libsdl2-image-dev curl doxygen imagemagick
5356 # Ubuntu 18.04 has an old cmake (3.9) so install a newer one from binaries from cmake
5457 ensure_cmake
5558}
5659
5760function ensure_arch_devtools_installed {
58- $SUDO pacman -Sqyyu --noconfirm base-devel libglvnd sdl2 sdl2_image curl
61+ $SUDO pacman -Sqyyu --noconfirm base-devel git libglvnd sdl2 sdl2_image curl doxygen imagemagick
5962 # Use same version of cmake as for ubuntu
6063 ensure_cmake
6164}
6265
63- function ensure_creative_engine {
64- if [[ ! -d " $CREATIVE_ENGINE_DIR " ]]; then
65- git clone git@github.com:ModusCreateOrg/creative-engine.git " $CREATIVE_ENGINE_DIR "
66- fi
66+ function test {
67+ cd " $BUILD_DIR " || exit 1
68+ ./creative-engine-test
69+ }
70+
71+ function test-headless {
72+ cd " $BUILD_DIR " || exit 1
73+ echo " All tests passed."
6774}
6875
6976function build {
70- cd " $BASE_DIR " || exit 1
71- if [[ ! -d creative-engine ]]; then
72- rm -f creative-engine
73- ln -s ../creative-engine .
74- fi
7577 mkdir -p " $BUILD_DIR "
7678 cd " $BUILD_DIR " || exit 1
77- pwd
78- ls -l
79- ls -l ..
8079 cmake ..
8180 make
8281}
8382
8483function clean {
85- cd " $CREATIVE_ENGINE_DIR " || exit 1
84+ cd " $BASE_DIR " || exit 1
8685 git clean -fdx
8786 rm -rf " $BASE_DIR /build"
8887}
8988
90- # TODO: Use otool -L and some foo to find the dependencies
91- # The sentinel is "/usr/local/opt"
92- function copy_sdl2_libs_to_app {
93- if [ " $OS " == " Darwin" ]; then
94- export APP_DIR=" $BASE_DIR /build/genus.app"
95- export APP_CNT_DIR=" $APP_DIR /Contents"
96- export APP_RES_DIR=" $APP_CNT_DIR /Resources"
97- export APP_MACOSX_DIR=" $APP_CNT_DIR /MacOS"
98- if [ -d $APP_DIR ]; then
99- rm -rf $APP_MACOSX_DIR /libs
100- mkdir -p $APP_MACOSX_DIR /libs
101-
102- cp /usr/local/opt/sdl2/lib/libSDL2.dylib $APP_MACOSX_DIR /libs/
103- cp /usr/local/opt/sdl2_image/lib/libSDL2_image.dylib $APP_MACOSX_DIR /libs/
104- cp /usr/local/opt/libpng/lib/libpng.dylib $APP_MACOSX_DIR /libs/
105- cp /usr/local/opt/jpeg/lib/libjpeg.dylib $APP_MACOSX_DIR /libs/
106- cp /usr/local/opt/libtiff/lib/libtiff.dylib $APP_MACOSX_DIR /libs/
107- cp /usr/local/opt/webp/lib/libwebp.dylib $APP_MACOSX_DIR /libs/
108- chmod 755 $APP_MACOSX_DIR /libs/*
109-
110- # FIX Genus
111- install_name_tool -change \
112- /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib \
113- ./libs/libSDL2.dylib \
114- $APP_MACOSX_DIR /genus
115- install_name_tool -change \
116- /usr/local/opt/sdl2_image/lib/libSDL2_image-2.0.0.dylib \
117- ./libs/libSDL2_image.dylib \
118- $APP_MACOSX_DIR /genus
119-
120- # FIX SDL2_image
121- install_name_tool -change \
122- /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib \
123- ./libs/libSDL2.dylib \
124- $APP_MACOSX_DIR /libs/libSDL2_image.dylib
125- install_name_tool -change \
126- /usr/local/opt/libpng/lib/libpng16.16.dylib \
127- ./libs/libpng.dylib \
128- $APP_MACOSX_DIR /libs/libSDL2_image.dylib
129- install_name_tool -change \
130- /usr/local/opt/jpeg/lib/libjpeg.9.dylib \
131- ./libs/libjpeg.dylib \
132- $APP_MACOSX_DIR /libs/libSDL2_image.dylib
133- install_name_tool -change \
134- /usr/local/opt/libtiff/lib/libtiff.5.dylib \
135- ./libs/libtiff.dylib \
136- $APP_MACOSX_DIR /libs/libSDL2_image.dylib
137- install_name_tool -change \
138- /usr/local/opt/webp/lib/libwebp.7.dylib \
139- ./libs/libwebp.dylib \
140- $APP_MACOSX_DIR /libs/libSDL2_image.dylib
141-
142- # FIX TIFF
143- install_name_tool -change \
144- /usr/local/opt/jpeg/lib/libjpeg.9.dylib \
145- ./libs/libjpeg.dylib \
146- $APP_MACOSX_DIR /libs/libtiff.dylib
147-
148- # CREATE WRAPPER
149- mv $APP_MACOSX_DIR /genus $APP_MACOSX_DIR /genus.bin
150- tee $APP_MACOSX_DIR /genus << -"EOF "
151- #!/usr/bin/env bash
152- MY_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" && pwd )"
153- (cd $MY_DIR && ./genus.bin)
154- EOF
155- chmod 755 $BASE_DIR /build/genus.app/Contents/MacOS/genus
156-
157- # INSTALL APP.PLIST & ETC
158- cp $BASE_DIR /resources/info.plist $APP_CNT_DIR
159- mkdir -p $APP_RES_DIR
160- cp $BASE_DIR /resources/GenusIcon.icns $APP_RES_DIR
161-
162- fi
163- fi
164- }
165-
166- function checkout_creative_engine_branch {
167- DEFAULT_BRANCH=" master"
168- GENUS_BRANCH=$( git branch | grep \* | cut -d ' ' -f2)
169- echo " The current genus branch is: $GENUS_BRANCH "
170- if (cd creative-engine && git checkout $GENUS_BRANCH ); then
171- echo " Checked out creatine-engine branch: $GENUS_BRANCH "
172- elif (cd creative-engine && git checkout $DEFAULT_BRANCH ); then
173- echo " Checked out creatine-engine branch: $DEFAULT_BRANCH "
174- else
175- echo " Faied to checkout a branch for creatine-engine!"
176- exit -1
177- fi
178- }
179-
0 commit comments