-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupdate-mapcrafter.sh
executable file
·49 lines (45 loc) · 1.22 KB
/
update-mapcrafter.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
#!/bin/bash
#
# Mapcrafter update + build script
#
# Usage:
# update-mapcrafter.sh <MAPCRAFTER_DIRECTORY> <MAPCRAFTER_REPO> <MAPCRAFTER_BRANCH>
#
# Example:
# update-mapcrafter.sh ~/Desktop/working/mapcrafter https://github.com/miclav/mapcrafter.git world115
#
if [ "$#" -ne 3 ]; then
echo "Wrong number of parameters passed"
echo "Usage:"
echo "$0 <MAPCRAFTER_DIRECTORY> <MAPCRAFTER_REPO> <MAPCRAFTER_BRANCH>"
exit
fi
MAPCRAFTER_DIRECTORY="$1"
MAPCRAFTER_REPO="$2"
MAPCRAFTER_BRANCH="$3"
#Update or clone Mapcrafter and build if necessary
if [ -d "$MAPCRAFTER_DIRECTORY" ]
then
pushd "$MAPCRAFTER_DIRECTORY" > /dev/null
git fetch origin
if [[ `git log HEAD..origin/$MAPCRAFTER_BRANCH --oneline` != "" ]]
then
echo "Updating Mapcrafter"
git clean -fdx
git merge origin/$MAPCRAFTER_BRANCH
echo "Rebuilding Mapcrafter"
cmake .
make
else
echo "Mapcrafter is already up-to-date"
fi
popd > /dev/null
else
echo "Cloning and building Mapcrafter"
git clone $MAPCRAFTER_REPO --branch $MAPCRAFTER_BRANCH "$MAPCRAFTER_DIRECTORY"
echo "Building Mapcrafter"
pushd "$MAPCRAFTER_DIRECTORY" > /dev/null
cmake .
make
popd > /dev/null
fi