]> git.lyx.org Git - features.git/commitdiff
add script to cross-compile for Windows
authorPeter Kümmel <kuemmel@lyx.org>
Sun, 20 Dec 2015 13:28:12 +0000 (14:28 +0100)
committerPeter Kümmel <kuemmel@lyx.org>
Sun, 20 Dec 2015 13:42:24 +0000 (14:42 +0100)
development/cmake/scripts/xmingw [new file with mode: 0755]

diff --git a/development/cmake/scripts/xmingw b/development/cmake/scripts/xmingw
new file mode 100755 (executable)
index 0000000..76576a2
--- /dev/null
@@ -0,0 +1,123 @@
+
+#!/bin/sh
+#
+# Installed MinGW needed.
+# Ubuntu : sudo apt-get install gcc-mingw-w64-i686
+
+
+
+if [ -z $1 ]
+then
+    echo "Usage: xmingw <path to LyX sources>"
+    exit 1
+fi
+
+
+lyxsrcdir=$1
+builddir=$PWD
+
+date=`date --utc '+%Y.%m.%d-%H.%M'`
+versionname=LyX$ver-$date
+
+
+echo ---------------------------------------------------------
+echo ---------- Building $versionname
+echo ---------------------------------------------------------
+
+# ---------------------------------------------------------
+#
+# helper function to check return code
+#
+checkExitCode() {
+    exitcode=$?
+    if [ $exitcode -ne 0 ]; then
+        echo Command failed
+        exit 1
+    fi
+}
+
+dep=$lyxsrcdir/../lyx-dependencies
+mkdir -p $dep
+
+
+server=http://sourceforge.net/projects/kst/files/3rdparty
+
+if [ "$2" = "x64" ]; then
+    mingw=x86_64-w64-mingw32
+    win=win64
+    branch=LyX$ver-master-win64
+else
+    win=win32
+    mingw=i686-w64-mingw32
+    branch=LyX$ver-master-win32
+fi
+
+qtver=5.5.1
+qtver=Qt-$qtver-$mingw
+compiler=$mingw
+LTS=14.04
+
+echo Checking mingw installation ...
+$compiler-gcc -dumpversion
+checkExitCode
+
+
+# ---------------------------------------------------------
+#
+# download and unpack Qt
+#
+if [ ! -d $dep/$qtver ]; then
+    qttar=$qtver-Ubuntu64-$LTS$tarver.tar
+    wget $server/$qttar.xz
+    checkExitCode
+    xz -d $qttar.xz
+    cd $dep
+    tar xf $builddir/$qttar
+    checkExitCode
+    echo -e "[Paths]\nPrefix = $dep/$qtver" > $dep/$qtver/bin/qt.conf
+    cd $builddir
+fi
+export PATH=$dep/$qtver/bin:$PATH
+echo Checking Qt installation ...
+which qmake
+checkExitCode
+
+
+
+# ---------------------------------------------------------
+#
+# build LyX
+#
+
+#mergefile=-DLYX_MERGE_FILE
+#pch=-DLYX_PCH=1
+
+$cmakebin $lyxsrcdir \
+    -DLYX_CPACK=1 \
+    -DLYX_PROGRAM_SUFFIX="" \
+    -DLYX_CONSOLE=FORCE \
+    -DLYX_XMINGW=$compiler \
+    -DLYX_USE_QT=QT5 \
+    -DLYX_QUIET=1 \
+    -DLYX_ENABLE_CXX11=1 \
+    -DLYX_HUNSPELL=1 \
+    -DLYX_3RDPARTY_BUILD=1 \
+    $pch $mergefile
+
+checkExitCode
+
+
+#processors=2
+make -j $processors
+checkExitCode
+
+
+
+
+# ---------------------------------------------------------
+#
+# deploy
+#
+make package
+checkExitCode
+