% README.linux 2024-09-29 % Tested on Ubuntu 20.04.4 LTS, Ubuntu 22.04 LTS and Fedora Linux 40 (Workstation Edition) 1. Prerequisites for building zint ================================== Prerequisites are git, cmake, make, gcc and gcc-c++, e.g. Ubuntu/Debian sudo apt install git cmake build-essential or Fedora (git, make and gcc should already be installed) sudo dnf install cmake gcc-c++ libpng is optional but necessary for PNG support, e.g. Ubuntu/Debian sudo apt install libpng-dev or Fedora sudo dnf install libpng-devel Then either download the source code tarball wget -O zint-2.13.0-src.tar.gz \ https://sourceforge.net/projects/zint/files/zint/2.13.0/zint-2.13.0-src.tar.gz/download tar xf zint-2.13.0-src.tar.gz cd zint-2.13.0-src or clone the latest source git clone https://git.code.sf.net/p/zint/code zint cd zint 2. Prerequisites for building zint-qt ===================================== zint-qt can be built with either Qt5 (preferred) or Qt6. First, install mesa (for OpenGL), e.g. Ubuntu/Debian sudo apt install mesa-common-dev libglu1-mesa-dev or Fedora sudo dnf install mesa-libGL mesa-libGL-devel 2.1. Using Qt packages ---------------------- If packages for Qt exist for your distro, it might be easiest to use them, although knowing what their ever-changing names and contents are isn't. A complication is that zint-qt uses 2 Qt components beyond the basic setup: Qt UI Tools (for dynamically loading the symbology-specific tabs), and Qt SVG (for rendering icons). E.g. on Ubuntu 22.04 sudo apt install qtbase5-dev qttools5-dev qttools5-dev-tools libqt5svg5-dev or Ubuntu 20.04 sudo apt install qt5-default qt5-uitools or Fedora (not recommended) sudo dnf install qt5-qtbase-devel qt5-qttools-devel qt5-qttools-static qt5-qtsvg-devel You may need to tell CMake where to find the ".cmake" modules: export CMAKE_MODULE_PATH=/Qt5 e.g. CMAKE_MODULE_PATH=/usr/lib/x86_64-linux-gnu/cmake/Qt5 2.2. Using the Qt Maintenance Tool ---------------------------------- Alternatively, for a more consistent experience, sign up and download the Qt Maintenance Tool from https://www.qt.io/download-qt-installer On Ubuntu/Debian you may need to install xinerama to run the tool: sudo apt install libxcb-xinerama0 Launch the tool and install the "Desktop gcc 64-bit" component for either Qt 5.15.2 (preferred) or Qt 6 (>= 6.1, 6.2.4 preferably, and not >= 6.3 which are incompatible). Once Qt is installed you may need to tell CMake where it is: export CMAKE_PREFIX_PATH=/gcc_64 e.g. export CMAKE_PREFIX_PATH=/opt/Qt/5.15.2/gcc_64 3. Build ======== The rest is standard CMake cd zint mkdir build cd build cmake .. make sudo make install 4. CMake options ================ A number of options are available: ZINT_COVERAGE:BOOL=OFF # Set code coverage flags ZINT_DEBUG:BOOL=OFF # Set debug compile flags ZINT_FRONTEND:BOOL=ON # Build frontend ZINT_NOOPT:BOOL=OFF # Set no optimize compile flags ZINT_SANITIZE:BOOL=OFF # Set sanitize compile/link flags ZINT_SHARED:BOOL=ON # Build shared library ZINT_STATIC:BOOL=OFF # Build static library ZINT_TEST:BOOL=OFF # Set test compile flag ZINT_UNINSTALL:BOOL=ON # Add uninstall target ZINT_USE_PNG:BOOL=ON # Build with PNG support ZINT_USE_QT:BOOL=ON # Build with Qt support ZINT_QT6:BOOL=OFF # If ZINT_USE_QT, use Qt6 which can be set by doing e.g. cmake -DZINT_SANITIZE=ON .. For details on ZINT_TEST and building the zint test suite, see "backend/tests/README".