mirror of
https://github.com/qpdf/qpdf.git
synced 2024-11-09 14:50:58 +00:00
39 lines
1.2 KiB
Bash
Executable File
39 lines
1.2 KiB
Bash
Executable File
#!/bin/bash -ex
|
|
|
|
# This is used invoked from
|
|
# https://github.com/google/oss-fuzz/blob/master/projects/qpdf/build.sh
|
|
|
|
# It should be run from the top level directory of a clean checkout of
|
|
# qpdf. It is also exercised in ../build-scripts/build-fuzzer
|
|
|
|
if [[ $GITHUB_FORK != "" ]]; then
|
|
git remote add fork https://github.com/$GITHUB_FORK/qpdf
|
|
git fetch fork --depth=1
|
|
CUR_BRANCH=$(git rev-parse --abbrev-ref @)
|
|
if [[ $GITHUB_BRANCH == "" ]]; then
|
|
GITHUB_BRANCH=$CUR_BRANCH
|
|
fi
|
|
if [[ $GITHUB_BRANCH == $CUR_BRANCH ]]; then
|
|
git reset --hard fork/$CUR_BRANCH
|
|
else
|
|
git branch -f $GITHUB_BRANCH fork/$GITHUB_BRANCH
|
|
git checkout $GITHUB_BRANCH
|
|
fi
|
|
fi
|
|
|
|
for future in ON OFF; do
|
|
rm -rf build
|
|
env CMAKE_PREFIX_PATH=$WORK LDFLAGS="-L$WORK/lib -lpthread" \
|
|
cmake -S . -B build \
|
|
-DOSS_FUZZ=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Debug \
|
|
-DUSE_IMPLICIT_CRYPTO=OFF -DREQUIRE_CRYPTO_NATIVE=ON \
|
|
-DFUTURE=$future
|
|
cmake --build build -j$(nproc) --target fuzzers
|
|
cmake --install build --component fuzz
|
|
if [[ $future == ON ]]; then
|
|
pushd $OUT
|
|
for i in *_fuzzer*; do mv $i future_$i; done
|
|
popd
|
|
fi
|
|
done
|