File indexing completed on 2024-05-19 05:42:06
0001 #!/bin/bash 0002 0003 FIRST_ARG="$1" 0004 BDE_BUILD_DIR="$1" 0005 DATABASE_PATH="$2" 0006 0007 print_usage() 0008 { 0009 echo "$0 <BDE_BUILD_DIR> <DATABASE_PATH>" 0010 echo \ 0011 "Looking in BDE_BUILD_DIR for compile_commands.json to specify input files, create a new database at DATABASE_PATH" 0012 echo \ 0013 "To generate compile_commands.json, run clang with -DCMAKE_COMPILE_COMMANDS=ON" 0014 } 0015 0016 assert_directory() 0017 { 0018 declare -r DIR="$1" 0019 0020 if [ -z "$DIR" ] || ! [ -d "$DIR" ]; then 0021 echo "'$DIR' is not a directory" 1>&2 0022 echo 0023 print_usage 1>&2 0024 exit 22 # EINVAL 0025 fi 0026 } 0027 0028 check_args() 0029 { 0030 if [ "$FIRST_ARG" == "--help" ] || [ "$FIRST_ARG" == "-h" ]; then 0031 print_usage 0032 exit 0 0033 fi 0034 0035 assert_directory "$BDE_BUILD_DIR" 0036 0037 # dirname doesn't handle empty arguments 0038 if [ -z "$DATABASE_PATH" ]; then 0039 echo "Please specify DATABASE_PATH" 1>&2 0040 echo 1>&2 0041 print_usage 1>&2 0042 exit 22 # EINVAL 0043 fi 0044 0045 assert_directory "$(dirname "$DATABASE_PATH")" 0046 } 0047 0048 check_args 0049 0050 PARSER_EXECUTABLE="@INSTALL_DIR@/create_codebase_db" 0051 0052 "$PARSER_EXECUTABLE" --overwrite \ 0053 --ignore "*.t.cpp" \ 0054 --ignore "*thirdparty*" \ 0055 -j"$(nproc)" \ 0056 "$DATABASE_PATH" \ 0057 "$BDE_BUILD_DIR/compile_commands.json"