38 lines
1.0 KiB
Bash
Executable File
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
|