citrus/scripts/bootstrap.sh
Robert Sebastian Herlim e27ed026dd Initial commit of CITRUS
2021-10-04 10:56:53 +09:00

38 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
TARGET_DIR=$1
SUBJECTS=("hjson-cpp" "json-voorhees" "JsonBox" "jsoncpp" "jvar" "re2" "tinyxml2" "yaml-cpp")
PWD=$(pwd)
mkdir -p ${TARGET_DIR}
cd ${TARGET_DIR}
for SUB in "${SUBJECTS[@]}"; do
rm -rf ${SUB}
done
cp ../replication/CITRUS_target_project.zip .
unzip CITRUS_target_project.zip
for SUBDIR in "${SUBJECTS[@]}" ; do
pushd ${SUBDIR}
mkdir -p build && cd build
cmake -DCMAKE_C_FLAGS="-g -O0 -fsanitize=fuzzer-no-link --coverage" \
-DCMAKE_CXX_FLAGS="-g -O0 -fsanitize=fuzzer-no-link --coverage" \
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_C_COMPILER="clang" -DCMAKE_CXX_COMPILER="clang++" ..
mv compile_commands.json ..
make -j3
cd ..
mkdir -p build_libfuzzer && cd build_libfuzzer
cmake -DCMAKE_C_FLAGS="-g -O0 -fsanitize=fuzzer-no-link --coverage" \
-DCMAKE_CXX_FLAGS="-g -O0 -fsanitize=fuzzer-no-link --coverage" \
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_C_COMPILER="clang" -DCMAKE_CXX_COMPILER="clang++" ..
make -j3
cd ..
popd
done