Merge pull request #16 from MyHush/denio
Add Build Scripts, update Readme
This commit is contained in:
57
README.md
57
README.md
@@ -22,9 +22,60 @@ Go to the releases page and grab the latest installers or binary. https://github
|
||||
```
|
||||
git clone https://github.com/MyHush/SilenDragonLite.git
|
||||
cd silentdragonlite
|
||||
/path/to/qt5/bin/qmake silentdragon-lite.pro CONFIG+=debug
|
||||
make -j$(nproc)
|
||||
./build.sh
|
||||
./Silentdragonlite
|
||||
|
||||
./silentdragonlite
|
||||
```
|
||||
|
||||
## Crosscompile for Windows (only tested for Ubuntu 18.04)
|
||||
|
||||
```
|
||||
# build dependencies
|
||||
sudo apt install clang g++ build-essential make mingw-w64 git pkg-config libc6-dev m4 g++-multilib autoconf libtool-bin ncurses-dev unzip python python-zmq zlib1g-dev wget curl bsdmainutils automake libgl1-mesa-dev libglu1-mesa-dev libfontconfig1-dev autopoint libssl-dev
|
||||
|
||||
# MXE dependencies
|
||||
sudo apt install bash bison bzip2 flex gettext git gperf intltool libc6-dev-i386 libgdk-pixbuf2.0-dev libltdl-dev libtool-bin libxml-parser-perl make openssl p7zip-full patch perl pkg-config python ruby sed unzip wget xz-utils
|
||||
|
||||
```
|
||||
# Compile OpenSSL
|
||||
|
||||
```
|
||||
# Download openssl 1.0.2
|
||||
https://www.openssl.org/source/
|
||||
cd openssl
|
||||
./Configure linux-x86_64
|
||||
make
|
||||
```
|
||||
## Static build of Qt5
|
||||
|
||||
# Download Qt5 sources
|
||||
```
|
||||
mkdir -p ~/Qt/5.11.2 && cd ~/Qt/5.11.2
|
||||
|
||||
wget https://download.qt.io/archive/qt/5.11/5.11.2/single/qt-everywhere-src-5.11.2.tar.xz
|
||||
tar xvf qt-everywhere-src-5.11.2.tar.xz && cd qt-everywhere-src-5.11.2
|
||||
|
||||
```
|
||||
# Configure and build Qt5 statically.
|
||||
```
|
||||
OPENSSL_LIBS='-L/PATH/TO/openssl-1.0.2q -lssl -lcrypto' ./configure -static -prefix ~/Qt/5.11.2/static -skip qtlocation -skip qtmacextras -skip qtpurchasing -skip qtscript -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtdatavis3d -skip qtdoc -skip qtcharts -skip qtdeclarative -skip qt3d -skip qtwebengine -skip qtandroidextras -skip qtwebview -skip qtgamepad -skip qtquickcontrols -skip qtquickcontrols2 -skip qtremoteobjects -skip qtwebview -skip qtwebchannel -skip qtwebglplugin -nomake examples -nomake tests -qt-zlib -qt-libpng -qt-xcb -qt-xkbcommon -feature-fontconfig -no-feature-getentropy -release -openssl-linked -opensource
|
||||
|
||||
make -j$(nproc)
|
||||
make -j$(nproc) install
|
||||
|
||||
```
|
||||
# Build MXE (Cross-compiled Qt5 for Windows in Linux)
|
||||
```
|
||||
mkdir ~/github && cd ~/github
|
||||
git clone https://github.com/mxe/mxe.git
|
||||
cd mxe
|
||||
|
||||
make -j$(nproc) MXE_TARGETS=x86_64-w64-mingw32.static qtbase qtwebsockets
|
||||
|
||||
```
|
||||
# Build SilentDragonLite .exe
|
||||
```
|
||||
cd SilentDragonLite
|
||||
./win-static-build.sh
|
||||
|
||||
```
|
||||
|
||||
38
build.sh
Executable file
38
build.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2019 The Hush Developers
|
||||
|
||||
UNAME=$(uname)
|
||||
|
||||
if [ "$UNAME" == "Linux" ] ; then
|
||||
JOBS=$(nproc)
|
||||
elif [ "$UNAME" == "FreeBSD" ] ; then
|
||||
JOBS=$(nproc)
|
||||
elif [ "$UNAME" == "Darwin" ] ; then
|
||||
JOBS=$(sysctl -n hw.ncpu)
|
||||
else
|
||||
JOBS=1
|
||||
fi
|
||||
|
||||
VERSION=$(cat src/version.h |cut -d\" -f2)
|
||||
echo "Compiling SilentDragonLite $VERSION with $JOBS threads..."
|
||||
CONF=silentdragon-lite.pro
|
||||
|
||||
set -e
|
||||
qbuild () {
|
||||
qmake $CONF CONFIG+=debug
|
||||
#lupdate $CONF
|
||||
#lrelease $CONF
|
||||
make -j$JOBS
|
||||
}
|
||||
|
||||
if [ "$1" == "clean" ]; then
|
||||
make clean
|
||||
elif [ "$1" == "linguist" ]; then
|
||||
lupdate $CONF
|
||||
lrelease $CONF
|
||||
elif [ "$1" == "cleanbuild" ]; then
|
||||
make clean
|
||||
qbuild
|
||||
else
|
||||
qbuild
|
||||
fi
|
||||
39
linux-static-build.sh
Executable file
39
linux-static-build.sh
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2019 The Hush Developers
|
||||
|
||||
UNAME=$(uname)
|
||||
|
||||
if [ "$UNAME" == "Linux" ] ; then
|
||||
JOBS=$(nproc)
|
||||
elif [ "$UNAME" == "FreeBSD" ] ; then
|
||||
JOBS=$(nproc)
|
||||
elif [ "$UNAME" == "Darwin" ] ; then
|
||||
JOBS=$(sysctl -n hw.ncpu)
|
||||
else
|
||||
JOBS=1
|
||||
fi
|
||||
|
||||
|
||||
VERSION=$(cat src/version.h |cut -d\" -f2)
|
||||
echo "Compiling SilentDragonLite $VERSION with $JOBS threads..."
|
||||
CONF=silentdragon-lite.pro
|
||||
|
||||
set -e
|
||||
qbuild () {
|
||||
/home/$USER/Qt/5.11.2/static/bin/qmake $CONF CONFIG+=debug
|
||||
#lupdate $CONF
|
||||
#lrelease $CONF
|
||||
make -j$JOBS
|
||||
}
|
||||
|
||||
if [ "$1" == "clean" ]; then
|
||||
make clean
|
||||
elif [ "$1" == "linguist" ]; then
|
||||
lupdate $CONF
|
||||
lrelease $CONF
|
||||
elif [ "$1" == "cleanbuild" ]; then
|
||||
make clean
|
||||
qbuild
|
||||
else
|
||||
qbuild
|
||||
fi
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 18 KiB |
BIN
res/icon.ico
BIN
res/icon.ico
Binary file not shown.
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 401 KiB |
BIN
res/logobig.gif
BIN
res/logobig.gif
Binary file not shown.
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 18 KiB |
File diff suppressed because it is too large
Load Diff
33
win-static-build.sh
Executable file
33
win-static-build.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2019 The Hush Developers
|
||||
|
||||
|
||||
|
||||
VERSION=$(cat src/version.h |cut -d\" -f2)
|
||||
echo "Compiling SilentDragonLite $VERSION .exe with $JOBS threads..."
|
||||
CONF=silentdragon-lite.pro
|
||||
|
||||
set -e
|
||||
CC_x86_64_pc_windows_gnu="x86_64-w64-mingw32.static-gcc"
|
||||
PATH="/home/$USER/github/mxe/usr/bin:${PATH}"
|
||||
mkdir release
|
||||
cp src/precompiled.h release/
|
||||
qbuild () {
|
||||
/home/$USER/github/mxe/usr/bin/x86_64-w64-mingw32.static-qmake-qt5 $CONF CONFIG+=release
|
||||
|
||||
#lupdate $CONF
|
||||
#lrelease $CONF
|
||||
make -j$JOBS
|
||||
}
|
||||
|
||||
if [ "$1" == "clean" ]; then
|
||||
make clean
|
||||
elif [ "$1" == "linguist" ]; then
|
||||
lupdate $CONF
|
||||
lrelease $CONF
|
||||
elif [ "$1" == "cleanbuild" ]; then
|
||||
make clean
|
||||
qbuild
|
||||
else
|
||||
qbuild
|
||||
fi
|
||||
Reference in New Issue
Block a user