-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmiugens.sh
More file actions
executable file
·57 lines (43 loc) · 1.32 KB
/
miugens.sh
File metadata and controls
executable file
·57 lines (43 loc) · 1.32 KB
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
INSTALL_LOCATION="$HOME/Library/Application Support/SuperCollider/Extensions"
SC_LOCATION="../../supercollider"
SCRIPTS_HOME="$(pwd)"
PROJECT_DIR="mi-UGens"
OSX_ARCH=$1
if [ -z "$OSX_ARCH" ]; then
echo "No target architecture chosen. Run the script again with either x86_64 or arm as the argument: ./script.sh x86_64" && exit 1;
fi
echo "Building $PROJECT_DIR for architecture $OSX_ARCH"
######
#
# Build all projects
# Usage: build.sh <SUPERCOLLIDER SOURCE>
#
FOLDERS=(MiBraids MiClouds MiElements MiMu MiOmi MiPlaits MiRings MiRipples MiTides MiVerb MiWarps)
MI_UGENS=build/mi-UGens
cd $PROJECT_DIR
mkdir -p $MI_UGENS
# MiBraids depends on libsamplerate, let's build that first
cd MiBraids/libsamplerate
echo "Building libsamplerate"
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DLIBSAMPLERATE_EXAMPLES=OFF -DBUILD_TESTING=OFF -DCMAKE_OSX_ARCHITECTURES="$OSX_ARCH" ..
make
cd ../../..
for FOLDER in "${FOLDERS[@]}"
do
cd $FOLDER
echo "Building $FOLDER"
# # Build folder
mkdir -p build
cd build
# # Build
cmake -DSC_PATH=$SC_LOCATION -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$INSTALL_LOCATION" -DCMAKE_OSX_ARCHITECTURES="$OSX_ARCH" ..
cmake --build . --config Release
# Copy binary
cp $FOLDER.scx "$INSTALL_LOCATION"
cd ../..
done
cp -r sc/* "$INSTALL_LOCATION"
cd $SCRIPTS_HOME
# cp -r sc/* $MI_UGENS