diff options
author | El Mostafa Idrassi <el-mostafa.idrassi@prestalab.net> | 2019-10-04 20:33:46 +0100 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2019-10-04 21:33:46 +0200 |
commit | d2c53bc37317b0e9400f48b4b87a020773b05347 (patch) | |
tree | db6c57a5ff9d01332f5c11c11b6353650841070c /src/Build/build_cmake_rpm.sh | |
parent | 48ef6c3736db3dab13ea9befe2239bec65df939e (diff) | |
download | VeraCrypt-d2c53bc37317b0e9400f48b4b87a020773b05347.tar.gz VeraCrypt-d2c53bc37317b0e9400f48b4b87a020773b05347.zip |
Linux: Added CMake script for creating .DEBs and .RPMs for VeraCrypt using CPack, and shell scripts which build then package VeraCrypt under CentOS and Debian/Ubuntu. (#511)
The DEB script builds VeraCrypt and links it against wxWidgets that comes with the distribution.
The RPM script awaits for wxWidgets-3.0.4 source code which it builds then links VeraCrypt statically to it.
Both scripts create the corresponding package after the build.
Diffstat (limited to 'src/Build/build_cmake_rpm.sh')
-rw-r--r-- | src/Build/build_cmake_rpm.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/Build/build_cmake_rpm.sh b/src/Build/build_cmake_rpm.sh new file mode 100644 index 00000000..ae9f0bfb --- /dev/null +++ b/src/Build/build_cmake_rpm.sh @@ -0,0 +1,65 @@ +#!/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 + +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 line 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 + +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 $PARENTDIR/VeraCrypt_Packaging + +cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/GUI" -DNOGUI=FALSE || exit 1 +cpack --config $PARENTDIR/VeraCrypt_Packaging/CPackConfig.cmake || exit 1 + +cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/Console" -DNOGUI=TRUE || exit 1 +cpack --config $PARENTDIR/VeraCrypt_Packaging/CPackConfig.cmake|| exit 1
\ No newline at end of file |