Project 'savoirfairelinux/ring-project' was moved to 'savoirfairelinux/jami-project'. Please update any links and bookmarks that may still have the old path.
Select Git revision
win_compile.sh
-
Anthony Léonard authored
Default QMake configuration in mingw packages has changed since Fedora 26 and some modifications are required in order to make the ring client able to compile on it: - Change QMake spec from "win32-g++" to "mingw-w64-g++" which links with libqt5main.dll instead of the wrong libqtmain.dll. With this patch, the client shouldn't be able to compile anymore on Fedora <26. The corresponding patch in "client-windows" is also required as parts of the fix include modifications of the project file. Change-Id: I7c8c6ac028c1bccc824691e8974a93569fb6bb9c Reviewed-by:
Olivier Soldano <olivier.soldano@savoirfairelinux.com>
Anthony Léonard authoredDefault QMake configuration in mingw packages has changed since Fedora 26 and some modifications are required in order to make the ring client able to compile on it: - Change QMake spec from "win32-g++" to "mingw-w64-g++" which links with libqt5main.dll instead of the wrong libqtmain.dll. With this patch, the client shouldn't be able to compile anymore on Fedora <26. The corresponding patch in "client-windows" is also required as parts of the fix include modifications of the project file. Change-Id: I7c8c6ac028c1bccc824691e8974a93569fb6bb9c Reviewed-by:
Olivier Soldano <olivier.soldano@savoirfairelinux.com>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
win_compile.sh 1.84 KiB
#!/bin/bash
rootdir=$(pwd)
HOST=i686-w64-mingw32
ARCH=32
CMAKE_TOOLCHAIN_FILE=$rootdir/lrc/cmake/winBuild.cmake
echo "running compilation on ${CORES:=`nproc --all`} threads"
while test -n "$1"
do
case "$1" in
--clean)
;;
--arch=*)
ARCH="${1#--arch=}"
;;
esac
shift
done
if [ "$ARCH" = "64" ]
then
HOST=x86_64-w64-mingw32
CMAKE_TOOLCHAIN_FILE=$rootdir/lrc/cmake/winBuild64.cmake
fi
INSTALL_PREFIX=$rootdir/install_win${ARCH}
cd daemon/contrib
mkdir -p native${ARCH}
cd native${ARCH}
../bootstrap --host=${HOST}
make fetch || exit 1
make -j$CORES || exit 1
cd ../..
./autogen.sh || exit 1
mkdir -p "build${ARCH}"
cd build${ARCH}
$rootdir/daemon/configure --host=${HOST} --without-dbus --prefix=$INSTALL_PREFIX
rsync -a $rootdir/daemon/src/buildinfo.cpp ./src/buildinfo.cpp
make -j$CORES install || exit 1
cd $rootdir
cd lrc
mkdir -p build${ARCH}
cd build${ARCH}
export CMAKE_PREFIX_PATH=/usr/${HOST}/sys-root/mingw/lib/cmake
cmake -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DRING_BUILD_DIR=$INSTALL_PREFIX -DENABLE_LIBWRAP=true ..
make -j$CORES install || exit 1
cd $rootdir
cd client-windows
git submodule update --init
if [ ! -f "$INSTALL_PREFIX/bin/WinSparkle.dll" ]
then
cd winsparkle
git submodule init && git submodule update
mkdir -p build${ARCH} && cd build${ARCH}
cmake -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX ../cmake
make -j$CORES || exit 1
make install
cd ../../
fi
if [ ! -f "$INSTALL_PREFIX/bin/libqrencode.dll" ]
then
cd libqrencode
./autogen.sh || exit 1
mkdir -p build${ARCH} && cd build${ARCH}
../configure --host=${HOST} --prefix=$INSTALL_PREFIX
make -j$CORES || exit 1
make install
cd ../..
fi
mkdir -p build${ARCH}
cd build${ARCH}
${HOST}-qmake-qt5 ../RingWinClient.pro -r -spec mingw-w64-g++ RING=$INSTALL_PREFIX
make -j$CORES || exit 1
make install