summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bitmask.pro2
-rwxr-xr-xbuild.sh56
2 files changed, 57 insertions, 1 deletions
diff --git a/bitmask.pro b/bitmask.pro
index 1afe162..79d7f3b 100644
--- a/bitmask.pro
+++ b/bitmask.pro
@@ -47,7 +47,7 @@ HEADERS += \
gui/qjsonmodel.h \
lib/libgoshim.h
-LIBS += -L./lib -lgoshim -lpthread
+LIBS += -L../lib -lgoshim -lpthread
DESTDIR = release
OBJECTS_DIR = release/.obj
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..667457c
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+set -e
+
+
+XBUILD=${XBUILD-no}
+WIN64="win64"
+GO=`which go`
+
+PROJECT=bitmask.pro
+TARGET_GOLIB=lib/libgoshim.a
+SOURCE_GOLIB=gui/backend.go
+
+
+if [ "$XBUILD" == "$WIN64" ]
+then
+ # TODO allow to override vars
+ QMAKE="`pwd`/../mxe/usr/x86_64-w64-mingw32.static/qt5/bin/qmake"
+ PATH="`pwd`/../mxe/usr/bin"/:$PATH
+ CC=x86_64-w64-mingw32.static-gcc
+else
+ QMAKE=`which qmake`
+fi
+
+
+function init {
+ mkdir -p lib
+}
+
+function buildGoLib {
+ echo "[+] Using go in" $GO "[`go version`]"
+ if [ "$XBUILD" == "no" ]
+ then
+ echo "[+] Building Go library with standard Go compiler"
+ CGO_ENABLED=1 go build -buildmode=c-archive -o $TARGET_GOLIB $SOURCE_GOLIB
+ fi
+ if [ "$XBUILD" == "$WIN64" ]
+ then
+ echo "[+] Building Go library with mxe"
+ echo ">> using cc:" $CC
+ CC=$CC CGO_ENABLED=1 GOOS=windows GOARCH=amd64 go build -buildmode=c-archive -o $TARGET_GOLIB $SOURCE_GOLIB
+ fi
+}
+
+function buildQmake {
+ echo "[+] Now building Qml app with Qt qmake"
+ echo ">> using qmake:" $QMAKE
+ mkdir -p qtbuild
+ $QMAKE -o qtbuild/Makefile "CONFIG-=debug CONFIG+=release" $PROJECT
+}
+
+echo "[+] Building minimal qml example..."
+
+buildGoLib
+buildQmake
+make -C qtbuild clean
+make -C qtbuild -j4 all