path: root/src/Build/
diff options
authorEl Mostafa Idrassi <>2019-10-04 20:33:46 +0100
committerMounir IDRASSI <>2019-10-04 21:33:46 +0200
commitd2c53bc37317b0e9400f48b4b87a020773b05347 (patch)
treedb6c57a5ff9d01332f5c11c11b6353650841070c /src/Build/
parent48ef6c3736db3dab13ea9befe2239bec65df939e (diff)
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/')
1 files changed, 41 insertions, 0 deletions
diff --git a/src/Build/ b/src/Build/
new file mode 100644
index 00000000..c8098947
--- /dev/null
+++ b/src/Build/
@@ -0,0 +1,41 @@
+# 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/../../..")
+echo "Building GUI version of VeraCrypt for DEB using system wxWidgets"
+make clean || exit 1
+make || exit 1
+make install DESTDIR="$PARENTDIR/VeraCrypt_Setup/GUI" || exit 1
+echo "Building console version of VeraCrypt for DEB using system wxWidgets"
+# This is to avoid " Error: Unable to initialize GTK+, is DISPLAY set properly?"
+# when building over SSH without X11 Forwarding
+# export DISPLAY=:0.0
+make NOGUI=1 clean || exit 1
+make NOGUI=1 || exit 1
+make NOGUI=1 install DESTDIR="$PARENTDIR/VeraCrypt_Setup/Console" || exit 1
+echo "Creating VeraCrypt DEB packages"
+# -DCPACK_RPM_PACKAGE_DEBUG=TRUE for debugging cpack DEB
+# -DCPACK_RPM_PACKAGE_DEBUG=TRUE for debugging cpack DEB
+mkdir $PARENTDIR/VeraCrypt_Packaging
+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