view build-win32.sh @ 43:179e7df4dc80

Run host system qmake right after cross-building, so that we do not confuse user after the build by having target system Makefile.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 06 Apr 2017 14:52:57 +0300
parents 3d1990eb1020
children 402446a76794
line wrap: on
line source

#!/bin/sh
INSTALL_USB="/mnt/sdb1/Syntilista/"
INSTALL_WINE="$HOME/.wine/drive_c/Syntilista/"

QT5PATH="/misc/packages/qt5-src/qtbase/"
BUILDPATH="release/"
MINGWPATH="/usr/lib/gcc/i686-w64-mingw32/6.3-win32/"
QMAKE="$QT5PATH/bin/qmake"

do_cpinstall()
{
    # $1 src base path
    # $2 dst base path
    # $3 common sub path
    # $4 filename

    mkdir -p "$2/$3"
    cp -f "$1/$3/$4" "$2/$3/$4"
}

do_install()
{
    TARGET="$1"
    if test ! -d "$TARGET"; then
        echo "ERROR: Target directory '$TARGET' does not exist."
        return 1
    fi

    echo "Installing to '$TARGET' ..."

    do_cpinstall "$QT5PATH/plugins/" "$TARGET" "platforms" "qwindows.dll"
    do_cpinstall "$QT5PATH/plugins/" "$TARGET" "sqldrivers" "qsqlite.dll"
    for i in Core Gui Sql Widgets; do
        cp -f "$QT5PATH/bin/Qt5$i.dll" "$TARGET"
    done

    for i in libstdc++-6 libgcc_s_sjlj-1; do
        cp -f "$MINGWPATH/$i.dll" "$TARGET"
        strip "$TARGET/$i.dll"
    done

    cp -f "$BUILDPATH/Syntilista.exe" "$TARGET"
}

if test ! -e "$QMAKE"; then
    echo "ERROR: $QMAKE not found."
    exit 1
fi

$QMAKE

#make -f Makefile.Release clean
make -f Makefile.Release

do_install "$INSTALL_USB"
rm -f "$INSTALL_USB/syntilista.sqlite3"
do_install "$INSTALL_WINE"

qmake