scripts/standalone-maximal.gclient instead of standalone.gclient.dawn_maximal = true GN arg to default to building as many targets as possible given your host OS.all, which is the default if none is specified).dawn_maximal = true is optional but still useful for cross-compile builds.gn gen --check to locally run the presubmit check that C++ includes match the build files."custom_vars": { "checkout_clangd": True } in .gclient (or just use standalone-maximal.gclient).third_party/llvm-build/Release+Asserts/bin/clangd.clangd.path.clangd and then update the out/ paths in that file according to your needs.PathMatch paths aren't intended to be perfect, but please update this doc if you find platform-specific files that they miss.--compile-commands-dir=out/Debugclangd.argumentschrome-remote-index.For Mac/Linux hosts:
# This first section applies by default. Additional "fragments" below *also* # apply, and may overwrite configs from less-specific fragments. # Docs: https://clangd.llvm.org/config CompileFlags: CompilationDatabase: out/Debug Add: - "-ferror-limit=0" # Additional personal configs can go here OR in your user-wide # `clangd/config.yml` (https://clangd.llvm.org/config#files). Suggestions: # - `--header-insertion=never` if you find yourself accidentally adding # random headers when autocomplete goes sideways --- If: PathMatch: - "src/dawn/native/d3d12/.*" - "src/.*_[Ww]in.*" - "src/.*_[Dd]3[Dd].*" CompileFlags: CompilationDatabase: out/Debug-win
For Linux hosts, also add this:
--- If: PathMatch: - "src/dawn/native/metal/.*" - "src/.*_[Mm]ac.*" - "src/.*_[Aa]pple.*" - "src/.*_[Mm]etal.*" CompileFlags: CompilationDatabase: out/Debug-mac