blob: fdfb5fbd31a1fb68164d2783b135cf5e68af0436 [file] [log] [blame]
#!/bin/bash
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#### CATEGORY=Build
### Generates a compile_commands.json file in FUCHSIA_DIR using the current build configuration
## Generates a compile_commands.json file in FUCHSIA_DIR using the current build configuration.
##
## Usage: fx compdb [flags]
##
## --no-gen Do not first run `fx gen`
## --help|-h Print this help
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../lib/vars.sh || exit $?
fx-config-read
main() {
local use_gen=true
while [[ $# -gt 0 ]]; do
case "$1" in
--help | -h)
fx-command-help
exit 0
;;
--no-gen)
use_gen=false
;;
*)
echo "Invalid argument '$1'"
fx-command-help
exit 1
;;
esac
shift
done
if [[ "${use_gen}" == true ]]; then
fx-gen
fi
local concat_filename="${FUCHSIA_BUILD_DIR}/compile_commands.zircon-and-build.json"
"${FUCHSIA_DIR}/scripts/editors/cat_compile_commands.py" \
"${ZIRCON_BUILDROOT}/compile_commands.json" \
"${FUCHSIA_BUILD_DIR}/compile_commands.json" \
>"${concat_filename}"
ln -sf "${concat_filename}" "${FUCHSIA_DIR}/compile_commands.json"
}
main "$@"