diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2019-12-22 10:06:49 +0100 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2019-12-22 10:10:43 +0100 |
commit | cdbe7854e86bac970824c1b8602accf27aff9c2f (patch) | |
tree | ddfacc6a4428be743dc839b44a80b66750cff731 | |
parent | f8beac6ebd00ac8b8e1286a34dfb52ef92d7e89c (diff) | |
download | VeraCrypt-cdbe7854e86bac970824c1b8602accf27aff9c2f.tar.gz VeraCrypt-cdbe7854e86bac970824c1b8602accf27aff9c2f.zip |
Linux: Modify .deb build scripts to link against statically built wxWidgets on Ubuntu 14.04, 12.04 and Debian 8
-rw-r--r-- | src/Build/CMakeLists.txt | 11 | ||||
-rwxr-xr-x | src/Build/build_cmake_deb.sh | 25 |
2 files changed, 29 insertions, 7 deletions
diff --git a/src/Build/CMakeLists.txt b/src/Build/CMakeLists.txt index 0c602f03..02a8ca2d 100644 --- a/src/Build/CMakeLists.txt +++ b/src/Build/CMakeLists.txt | |||
@@ -243,7 +243,7 @@ if ( ( PLATFORM STREQUAL "Debian" ) OR ( PLATFORM STREQUAL "Ubuntu" ) ) | |||
243 | set( CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${ARCHITECTURE} ) # mandatory | 243 | set( CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${ARCHITECTURE} ) # mandatory |
244 | 244 | ||
245 | if (NOGUI) | 245 | if (NOGUI) |
246 | # We build wxWidgets statically so that we don't depend on any GTK library | 246 | # Link against statically built wxWidgets so that we don't depend on any GTK library |
247 | set( CPACK_DEBIAN_PACKAGE_DEPENDS "libfuse2, dmsetup, sudo" ) | 247 | set( CPACK_DEBIAN_PACKAGE_DEPENDS "libfuse2, dmsetup, sudo" ) |
248 | else () | 248 | else () |
249 | # Link against gtk3 version of wxWidgets if >= Debian 10 or >= Ubuntu 18.04 | 249 | # Link against gtk3 version of wxWidgets if >= Debian 10 or >= Ubuntu 18.04 |
@@ -254,8 +254,13 @@ if ( ( PLATFORM STREQUAL "Debian" ) OR ( PLATFORM STREQUAL "Ubuntu" ) ) | |||
254 | set( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-gtk3-0v5, libfuse2, dmsetup, sudo" ) | 254 | set( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-gtk3-0v5, libfuse2, dmsetup, sudo" ) |
255 | 255 | ||
256 | else () | 256 | else () |
257 | 257 | # Link against statically built wxWidgets on Ubuntu 14.04 and older, and Debian 8 and older | |
258 | set( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-0v5, libfuse2, dmsetup, sudo" ) | 258 | if ( ( ( PLATFORM STREQUAL "Debian" ) AND ( PLATFORM_VERSION VERSION_LESS_EQUAL "8" ) ) |
259 | OR ( ( PLATFORM STREQUAL "Ubuntu" ) AND ( PLATFORM_VERSION VERSION_LESS_EQUAL "14.04" ) ) ) | ||
260 | set( CPACK_DEBIAN_PACKAGE_DEPENDS "libgtk2.0-0, libfuse2, dmsetup, sudo" ) | ||
261 | else () | ||
262 | set( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-0v5, libfuse2, dmsetup, sudo" ) | ||
263 | endif () | ||
259 | 264 | ||
260 | endif() | 265 | endif() |
261 | endif() | 266 | endif() |
diff --git a/src/Build/build_cmake_deb.sh b/src/Build/build_cmake_deb.sh index 7b546fdd..a9fdc3b5 100755 --- a/src/Build/build_cmake_deb.sh +++ b/src/Build/build_cmake_deb.sh | |||
@@ -12,23 +12,40 @@ export SOURCEPATH=$(readlink -f "$SCRIPTPATH/..") | |||
12 | # Directory where the VeraCrypt has been checked out | 12 | # Directory where the VeraCrypt has been checked out |
13 | export PARENTDIR=$(readlink -f "$SCRIPTPATH/../../..") | 13 | export PARENTDIR=$(readlink -f "$SCRIPTPATH/../../..") |
14 | 14 | ||
15 | # The sources of wxWidgets 3.0.4 must be extracted to the parent directory | ||
16 | export WX_ROOT=$PARENTDIR/wxWidgets-3.0.4 | ||
17 | echo "Using wxWidgets sources in $WX_ROOT" | ||
18 | |||
15 | cd $SOURCEPATH | 19 | cd $SOURCEPATH |
16 | 20 | ||
21 | if [ "$#" = "1" ] && [ "$1" = "WXSTATIC" ] | ||
22 | then | ||
23 | echo "Building GUI version of VeraCrypt for DEB using wxWidgets static libraries" | ||
24 | |||
25 | # This will be the temporary wxWidgets directory | ||
26 | export WX_BUILD_DIR=$PARENTDIR/wxBuildGUI | ||
27 | |||
28 | # To build wxWidgets without GUI | ||
29 | make WXSTATIC=1 wxbuild || exit 1 | ||
30 | make WXSTATIC=1 clean || exit 1 | ||
31 | make WXSTATIC=1 || exit 1 | ||
32 | make WXSTATIC=1 install DESTDIR="$PARENTDIR/VeraCrypt_Setup/GUI" || exit 1 | ||
33 | |||
34 | else | ||
35 | |||
17 | echo "Building GUI version of VeraCrypt for DEB using system wxWidgets" | 36 | echo "Building GUI version of VeraCrypt for DEB using system wxWidgets" |
18 | make clean || exit 1 | 37 | make clean || exit 1 |
19 | make || exit 1 | 38 | make || exit 1 |
20 | make install DESTDIR="$PARENTDIR/VeraCrypt_Setup/GUI" || exit 1 | 39 | make install DESTDIR="$PARENTDIR/VeraCrypt_Setup/GUI" || exit 1 |
21 | 40 | ||
41 | fi | ||
42 | |||
22 | echo "Building console version of VeraCrypt for DEB using wxWidgets static libraries" | 43 | echo "Building console version of VeraCrypt for DEB using wxWidgets static libraries" |
23 | 44 | ||
24 | # This is to avoid " Error: Unable to initialize GTK+, is DISPLAY set properly?" | 45 | # This is to avoid " Error: Unable to initialize GTK+, is DISPLAY set properly?" |
25 | # when building over SSH without X11 Forwarding | 46 | # when building over SSH without X11 Forwarding |
26 | # export DISPLAY=:0.0 | 47 | # export DISPLAY=:0.0 |
27 | 48 | ||
28 | # The sources of wxWidgets 3.0.4 must be extracted to the parent directory | ||
29 | export WX_ROOT=$PARENTDIR/wxWidgets-3.0.4 | ||
30 | echo "Using wxWidgets sources in $WX_ROOT" | ||
31 | |||
32 | # This will be the temporary wxWidgets directory | 49 | # This will be the temporary wxWidgets directory |
33 | export WX_BUILD_DIR=$PARENTDIR/wxBuildConsole | 50 | export WX_BUILD_DIR=$PARENTDIR/wxBuildConsole |
34 | 51 | ||