#!/bin/bash set -e sudo apt-get update sudo apt-get -y install \ build-essential cmake \ zlib1g-dev libjpeg-dev libgnutls28-dev libssl-dev # Some platforms have unsigned-char by default, but Intel doesn't. # This ensures that we catch code that would fail if char were # unsigned by default. env CFLAGS="-funsigned-char" \ CXXFLAGS="-funsigned-char" \ cmake -S . -B build \ -DCI_MODE=1 -DBUILD_STATIC_LIBS=0 -DCMAKE_BUILD_TYPE=Release \ -DREQUIRE_CRYPTO_OPENSSL=1 -DREQUIRE_CRYPTO_GNUTLS=1 \ -DENABLE_QTC=1 cmake --build build --verbose -j$(nproc) -- -k cd build # Make sure char is unsigned by default. ./build-linux verifies that # that build has char signed by default. That way we can be sure we # are testing both ways. ./qpdf/test_char_sign | grep 'char is unsigned' ctest --verbose