-
Notifications
You must be signed in to change notification settings - Fork 1
/
fullbuild.sh
executable file
·127 lines (91 loc) · 2.92 KB
/
fullbuild.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
#!//bin/sh
#### LYTE2D OFFICIAL BUILD
####
#### - Runs with github CI to produce Lyte2D release artifacts
#### - The 'Dockerfile' in the same location can be used to match all the requirements
#############
# VARS
#############
VERSION=$(cat version.txt)
CURRDIR=$(pwd)
# relative source locations
SOURCEDIR=$CURRDIR
DOCDIR=$CURRDIR
# relative build & release locations
BUILDDIR=$CURRDIR/out/docker
RELDIR=$CURRDIR/out/rel
# copy & pack location
BINDIR=$RELDIR/bin
TMPDIR=$RELDIR/tmp
ZIPDIR=$RELDIR/zip
ZIPCMD='zip -9 -u -r'
#############
# BEGIN
#############
echo "@@@ BEGIN: $(date)"
echo "lyte2d version: ${VERSION} sourcedir: ${SOURCEDIR} outdir: ${BUILDDIR}"
#############
# Configure
#############
echo "@@@ CONFIGURE: $(date)"
echo " @@ cfg: wingui"
cmake -DCMAKE_BUILD_TYPE=MinSizeRel -DWIN_GUI=1 -DCMAKE_TOOLCHAIN_FILE=$SOURCEDIR/mingw.cmake -S $SOURCEDIR -B $BUILDDIR/wingui
echo " @@ cfg: wasm"
source /emsdk/emsdk_env.sh
emcmake cmake -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" -S $SOURCEDIR -B $BUILDDIR/wasm
echo " @@ cfg: linux"
cmake -DCMAKE_BUILD_TYPE=MinSizeRel -S $SOURCEDIR -B $BUILDDIR/linux
echo " @@ cfg: win"
cmake -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=$SOURCEDIR/mingw.cmake -S $SOURCEDIR -B $BUILDDIR/win
#############
# Build
#############
echo "@@@ BUILD: $(date)"
echo " @@ build: wasm"
cmake --build $BUILDDIR/wasm
echo " @@ build: wingui"
cmake --build $BUILDDIR/wingui
echo " @@ build: linux"
cmake --build $BUILDDIR/linux
echo " @@ build: win"
cmake --build $BUILDDIR/win
#############
# Copy
#############
echo "@@@ COPY: $(date)"
mkdir -p $RELDIR
mkdir -p $RELDIR/bin
cp $BUILDDIR/wingui/lyte/lyte_gui.exe $RELDIR/bin
cp $BUILDDIR/wasm/lyte/lyte.html $RELDIR/bin
# cp $BUILDDIR/wasm/lyte/lyte.wasm $RELDIR/bin
# cp $BUILDDIR/wasm/lyte/lyte.js $RELDIR/bin
cp $BUILDDIR/linux/lyte/lyte $RELDIR/bin
cp $BUILDDIR/win/lyte/lyte.exe $RELDIR/bin
#############
# Pack
#############
echo "@@@ PACK: $(date)"
rm -rf $ZIPDIR
mkdir -p $ZIPDIR
mkdir -p $TMPDIR
cp -r $DOCDIR/LICENSE $TMPDIR/
cp -r $DOCDIR/licenses_all.txt $TMPDIR/
cp -r $DOCDIR/lyte_readme.md $TMPDIR/
cp -r $BINDIR/* $TMPDIR/
cd $TMPDIR
echo " @@ to be packed: ls -al:"
pwd
ls -al
echo " @@"
$ZIPCMD $ZIPDIR/lyte2d.windows.x64.v$VERSION.zip LICENSE licenses_all.txt lyte_readme.md lyte.exe lyte_gui.exe
# $ZIPCMD $ZIPDIR/lyte2d.wasm.v$VERSION.zip LICENSE licenses_all.txt lyte_readme.md lyte.html lyte.js lyte.wasm
$ZIPCMD $ZIPDIR/lyte2d.wasm.v$VERSION.zip LICENSE licenses_all.txt lyte_readme.md lyte.html # lyte.js lyte.wasm
$ZIPCMD $ZIPDIR/lyte2d.linux.x64.v$VERSION.zip LICENSE licenses_all.txt lyte_readme.md lyte
# $ZIPCMD $ZIPDIR/lyte2d.windows.x64.v$VERSION.zip licenses_all.txt lyte_readme.md lyte.exe
# $ZIPCMD $ZIPDIR/lyte2d.EVERYTHING.x64.v$VERSION.zip licenses.txt readme.md lyte* lyte*.*
cd ..
rm -rf $TMPDIR
#############
# END
#############
echo "@@@ END: $(date)"