diff options
author | El Mostafa Idrassi <el-mostafa.idrassi@prestalab.net> | 2019-10-07 17:49:46 +0100 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2019-10-07 18:49:46 +0200 |
commit | 15a8cde6f5b990ccf5ce4fcad065a3e8ca476ba8 (patch) | |
tree | 4fb184dd140e5bcaffdb5ce8a5e676cafca66ca8 /src/Build/build_cmake_rpm_gtk2.sh | |
parent | 6d7f7527be5ddd31a87cb015c04074de81ab0061 (diff) | |
download | VeraCrypt-15a8cde6f5b990ccf5ce4fcad065a3e8ca476ba8.tar.gz VeraCrypt-15a8cde6f5b990ccf5ce4fcad065a3e8ca476ba8.zip |
Updated and fixed build and packaging scripts. (#512)
Now, under Debian 10+ and Ubuntu 18.04+, we link against the GTK-3 version of wxWidgets (libwxgtk3.0-gtk3-0v5).
Under Debian 9- and Ubuntu 16.04, we link against the GTK-2 version of wxWidgets (libwxgtk3.0-0v5) which is the
only one available.
Also, we now have 2 separate RPM scripts : 'build_cmake_rpm_gtk2.sh' which builds wxWidgets and links it against GTK-2,
then links VeraCrypt against 'gtk2' package (typically to be used under CentOS 6) and 'build_cmake_rpm_gtk3' which builds
wxWidgets and links it against GTK-3, then links VeraCrypt against 'gtk3' package (typically to be used under CentOS 7+).
Diffstat (limited to 'src/Build/build_cmake_rpm_gtk2.sh')
-rw-r--r-- | src/Build/build_cmake_rpm_gtk2.sh | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/Build/build_cmake_rpm_gtk2.sh b/src/Build/build_cmake_rpm_gtk2.sh new file mode 100644 index 00000000..38c66a91 --- /dev/null +++ b/src/Build/build_cmake_rpm_gtk2.sh @@ -0,0 +1,69 @@ +#!/bin/sh + +# Errors should cause script to exit +set -e + +# Absolute path to this script +export SCRIPT=$(readlink -f "$0") +# Absolute path this script is in +export SCRIPTPATH=$(dirname "$SCRIPT") +# Source directory which contains the Makefile +export SOURCEPATH=$(readlink -f "$SCRIPTPATH/..") +# Directory where the VeraCrypt has been checked out +export PARENTDIR=$(readlink -f "$SCRIPTPATH/../../..") + +# The sources of wxWidgets 3.0.4 must be extracted to the parent directory +export WX_ROOT=$PARENTDIR/wxWidgets-3.0.4 +echo "Using wxWidgets sources in $WX_ROOT" + +cd $SOURCEPATH + +echo "Building GUI version of VeraCrypt for RPM using wxWidgets static libraries" + +# This will be the temporary wxWidgets directory +export WX_BUILD_DIR=$PARENTDIR/wxBuildGui + +# To build wxWidgets using GTK-2 +make WXSTATIC=1 wxbuild || exit 1 +make WXSTATIC=1 clean || exit 1 +make WXSTATIC=1 || exit 1 +make WXSTATIC=1 install DESTDIR="$PARENTDIR/VeraCrypt_Setup/GUI" || exit 1 + +# Uncomment below and comment lines above to reuse existing wxWidgets build +# make WXSTATIC=1 clean || exit 1 +# make WXSTATIC=1 || exit 1 +# make WXSTATIC=1 install DESTDIR="$PARENTDIR/VeraCrypt_Setup/GUI" || exit 1 + +echo "Building console version of VeraCrypt for RPM using wxWidgets static libraries" + +# This is to avoid " Error: Unable to initialize GTK+, is DISPLAY set properly?" +# when building over SSH without X11 Forwarding +# export DISPLAY=:0.0 + +# This will be the temporary wxWidgets directory +export WX_BUILD_DIR=$PARENTDIR/wxBuildConsole + +# To build wxWidgets using GTK-2 +make WXSTATIC=1 NOGUI=1 wxbuild || exit 1 +make WXSTATIC=1 NOGUI=1 clean || exit 1 +make WXSTATIC=1 NOGUI=1 || exit 1 +make WXSTATIC=1 NOGUI=1 install DESTDIR="$PARENTDIR/VeraCrypt_Setup/Console" || exit 1 + +# Uncomment below and comment lines above to reuse existing wxWidgets build +# make WXSTATIC=1 NOGUI=1 clean || exit 1 +# make WXSTATIC=1 NOGUI=1 || exit 1 +# make WXSTATIC=1 NOGUI=1 install DESTDIR="$PARENTDIR/VeraCrypt_Setup/Console" || exit 1 + +echo "Creating VeraCrypt RPM packages " + +# -DCPACK_RPM_PACKAGE_DEBUG=TRUE for debugging cpack RPM +# -DCPACK_RPM_PACKAGE_DEBUG=TRUE for debugging cpack RPM + +mkdir -p $PARENTDIR/VeraCrypt_Packaging/GUI +mkdir -p $PARENTDIR/VeraCrypt_Packaging/Console + +# wxWidgets was built using GTK-2 +cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/GUI -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/GUI" -DWITHGTK3=FALSE -DNOGUI=FALSE || exit 1 +cpack --config $PARENTDIR/VeraCrypt_Packaging/GUI/CPackConfig.cmake || exit 1 +cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/Console -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/Console" -DWITHGTK3=FALSE -DNOGUI=TRUE || exit 1 +cpack --config $PARENTDIR/VeraCrypt_Packaging/Console/CPackConfig.cmake || exit 1 |