-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathmcpp.toml
More file actions
132 lines (131 loc) · 5.22 KB
/
Copy pathmcpp.toml
File metadata and controls
132 lines (131 loc) · 5.22 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# mcpp-index is simultaneously the package index (pkgs/) AND a mcpp workspace that
# tests it: a virtual workspace whose members are per-library TEST projects under
# tests/examples/ — each consumes this repo's own packages and asserts behavior in
# tests/*.cpp. The whole suite runs as a single shell-free command,
# `mcpp test --workspace` (or `mcpp test -p <member>`). "Eat our own dog food."
# See .agents/docs/2026-06-29-mcpp-native-workspace-ci-design.md and
# mcpp .agents/docs/2026-06-30-workspace-test-and-zero-shell-index-design.md.
[workspace]
members = [
"tests/examples/abseil",
"tests/examples/archive",
"tests/examples/asio-module",
"tests/examples/asio-ssl",
"tests/examples/boost-ext.ut",
"tests/examples/build-mcpp",
"tests/examples/c-ares",
"tests/examples/catch2",
"tests/examples/catch2-main",
"tests/examples/catch2-v2",
"tests/examples/catch2-v2-main",
"tests/examples/capi-lua",
"tests/examples/cjson",
"tests/examples/cmdline",
"tests/examples/cli11",
"tests/examples/core",
"tests/examples/curl",
"tests/examples/eigen",
"tests/examples/eui-neo",
"tests/examples/eui-neo-app-main",
"tests/examples/eui-neo-markdown",
"tests/examples/eui-neo-sdl2",
"tests/examples/eui-neo-vulkan",
"tests/examples/eui-neo-window",
"tests/examples/ffmpeg",
"tests/examples/ffmpeg-module",
"tests/examples/fmtlib.fmt",
"tests/examples/gmp",
"tests/examples/gmp-gmpxx",
"tests/examples/godot-cpp",
"tests/examples/godot-cpp-module",
"tests/examples/godot-cpp-module-v10",
"tests/examples/godot-cpp-v10",
"tests/examples/grpc-codegen",
"tests/examples/grpc-module",
"tests/examples/gui-stack",
"tests/examples/imgui",
"tests/examples/imgui-module",
"tests/examples/imgui-window",
"tests/examples/marzer.tomlplusplus",
"tests/examples/libmysqlclient",
"tests/examples/mysql-connector-cpp",
"tests/examples/nlohmann.json",
"tests/examples/openblas",
"tests/examples/openssl",
"tests/examples/protobuf",
"tests/examples/protobuf-upb",
"tests/examples/protobuf-gzip",
"tests/examples/protobuf-protoc",
"tests/examples/opencv-module",
"tests/examples/opencv-module-dnn",
"tests/examples/opencv-module-unifont",
"tests/examples/reflectcpp",
"tests/examples/re2",
"tests/examples/redis-plus-plus",
"tests/examples/redis-plus-plus-v133",
"tests/examples/redis-plus-plus-async",
"tests/examples/sdl2",
"tests/examples/spdlog",
"tests/examples/freetype",
"tests/examples/glad",
"tests/examples/libpng",
"tests/examples/libwebp",
"tests/examples/llamacpp",
"tests/examples/llamacpp-metal",
"tests/examples/llmapi",
"tests/examples/md4c",
"tests/examples/spdlog-compiled",
"tests/examples/sqlite3",
"tests/examples/sqlitecpp",
"tests/examples/tinyhttps",
"tests/examples/usockets",
"tests/examples/vulkan",
"tests/examples/websocket",
"tests/examples/uwebsockets",
"tests/examples/wil",
"tests/examples/websocket-features",
"tests/examples/tray",
"tests/examples/xxhash",
"tests/examples/yyjson",
"tests/examples/magic_enum",
"tests/examples/mimalloc",
"tests/examples/harfbuzz",
"tests/examples/msdfgen",
"tests/examples/gtl",
"tests/examples/miniaudio",
"tests/examples/nanosvg",
"tests/examples/nanodbc",
"tests/examples/plf-hive",
"tests/examples/spirv-reflect",
"tests/examples/vulkan-memory-allocator",
]
# ── The index redirect, hoisted to the workspace root ───────────────────
# Members inherit this, and the relative `path` resolves against the
# WORKSPACE ROOT rather than the member directory (mcpp#224, fixed in
# 0.0.97) — so the 13 members that consume `compat` no longer each repeat
# `path = "../../.."`, and member depth stops mattering.
#
# Why exactly ONE entry, and why `compat` specifically:
#
# * The key is looked up by NAMESPACE. An index declared under a name that
# is not a namespace any dependency asks for is never registered, and
# resolution silently falls through to the published remote index — the
# checkout under test is then not what is being tested at all.
# * Declaring the same path under several namespaces does register them,
# as N separate project repos, and every lookup afterwards fails with an
# N-way ambiguity between what is physically one descriptor
# (mcpp#238 / xlings#374 — now a loud error rather than a silent exit 1).
#
# So the root can carry exactly one namespace, and `compat` is the one that
# pays: 13 members against 10 for everything else combined. A member that
# needs a different namespace declares its own `[indices]`, which REPLACES
# this table rather than merging with it — which is precisely what keeps it
# at one repo per member.
#
# A member inheriting this still resolves OTHER namespaces from the
# published remote index. tests/examples/asio-ssl leans on that deliberately:
# asio itself comes from the published index while its `ssl` feature dep,
# compat.openssl, resolves from this checkout — which is what lets an
# unmerged compat descriptor be tested through a feature that activates it.
[indices]
compat = { path = "." }