blob: 583eae4a06a5fd1dbef2f1b87d5574c16eabacca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# clangd config for Donut (the `Donut` app project — src/**). mirrors the build
# flags in premake5.lua so clangd resolves headers and macros with no
# compile_commands.json.
#
# NOTE: the include paths are absolute for THIS checkout. clangd's no-database
# fallback runs from each file's own directory, so relative includes don't
# resolve — hence absolute. If you move the repo, re-point them (or generate a
# compile_commands.json, e.g. `bear -- make config=debug`, which supersedes this).
CompileFlags:
Add:
- -std=c++20
# our code (mirror premake5.lua includedirs)
- -I/Users/hachem/Dev/Donut/src
# vendored deps as system headers (-isystem), mirroring externalincludedirs:
# keeps their warnings out of our -Wall/-Wextra/-pedantic.
- -isystem/Users/hachem/Dev/Donut/ext/glm
- -isystem/Users/hachem/Dev/Donut/ext/glfw/include
- -isystem/Users/hachem/Dev/Donut/ext/glad/include
- -isystem/Users/hachem/Dev/Donut/ext/imgui
- -isystem/Users/hachem/Dev/Donut/ext/imgui/backends
- -isystem/Users/hachem/Dev/Donut/ext/ImGuizmo
- -isystem/Users/hachem/Dev/Donut/ext/toml11/include
- -isystem/Users/hachem/Dev/Donut/ext/json/single_include
- -isystem/Users/hachem/Dev/Donut/ext/stb
- -isystem/opt/homebrew/include # Vulkan / MoltenVK headers (Homebrew, macOS)
# defines (mirror premake5.lua; Debug is the dev default)
- -DGLFW_INCLUDE_NONE
- -DDONUT_MACOS
- -DDONUT_DEBUG
- -D_CRT_SECURE_NO_WARNINGS
# same strict warnings as the build. -Werror is intentionally left out so the
# editor shows these as warnings, not errors — the build is what enforces them.
- -Wall
- -Wextra
- -pedantic
Diagnostics:
# this project pulls headers in transitively; clangd's include heuristics are
# noisy here and often wrong, so hush them.
UnusedIncludes: None
MissingIncludes: None
---
# Vulkan create-info structs zero-init pNext via aggregate init, so
# -Wmissing-field-initializers is just noise there (matches the build override).
If:
PathMatch: .*/platform/vulkan/.*
CompileFlags:
Add: [-Wno-missing-field-initializers]
|