#!/bin/bash -ex # Copyright Advanced Micro Devices, Inc., or its affiliates. # SPDX-License-Identifier: MIT # export PATH=$PATH:/opt/codeql/codeql # Creates a CodeQL database based on our code in build/rr-database. # Unfortunately the DB cannot be incrementally rebuilt so the build dir should just be deleted if you want to # re-run based on code changes. DIR="codeql/build/" rm -rf "${DIR}rr-database-new/" rm -rf "${DIR}rr-build-new/" export CCACHE_DISABLE=1 mkdir -p "${DIR}rr-database-new" mkdir -p "${DIR}rr-build-new" cmake --preset codeql -G Ninja -S . -B "${DIR}rr-build-new" codeql database create "${DIR}rr-database-new" --source-root="$(readlink -f .)" \ --codescanning-config=codeql/scanning.yml \ --language=cpp \ -j$(nproc) \ --search-path="${DIR}codeql-cli" \ --command="ninja" \ --working-dir="${DIR}rr-build-new" # Only overwrite old dirs at end rm -rf "${DIR}rr-database" rm -rf "${DIR}rr-build" mv -f "${DIR}rr-database-new" "${DIR}rr-database" mv -f "${DIR}rr-build-new" "${DIR}rr-build"