CMakeLists.txt: every lane's add_subdirectory() is now guarded by EXISTS on that lane's CMakeLists.txt, so main configures no matter which lanes have merged and a lane lights up its targets on merge with no edit here. Dependencies are found at top level (gated on the consuming lane) so a missing -dev package fails fast with a clear name. Warnings via add_compile_options (survives the presets' CMAKE_CXX_FLAGS override); VELOX_WERROR escape hatch. Verified end to end: `cmake --preset dev` against a merged lane/core builds libveloxcore + tests, `ctest --preset dev` green. .clang-format: Google base, 4-space indent, 100 cols, right-aligned pointers. .clang-tidy: small high-signal set (bugprone/performance/ concurrency/portability + selected modernize/readability). .editorconfig mirrors both. .gitignore: build-*/ , CMakeUserPresets.json, profiling and editor droppings. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01HPPSGhiArbvQgwC2DNiURS
30 lines
694 B
YAML
30 lines
694 B
YAML
# Velox C++ style. Owned by lane PKG/QA; CLAUDE.md §6 makes this authoritative.
|
|
# `clang-format --dry-run -Werror` runs on every PR.
|
|
---
|
|
Language: Cpp
|
|
BasedOnStyle: Google
|
|
|
|
IndentWidth: 4
|
|
ContinuationIndentWidth: 4
|
|
ColumnLimit: 100
|
|
AccessModifierOffset: -2
|
|
NamespaceIndentation: None
|
|
|
|
DerivePointerAlignment: false
|
|
PointerAlignment: Right
|
|
|
|
AllowShortFunctionsOnASingleLine: Inline
|
|
AllowShortIfStatementsOnASingleLine: Never
|
|
AllowShortLoopsOnASingleLine: false
|
|
AllowShortCaseLabelsOnASingleLine: false
|
|
|
|
IndentCaseLabels: true
|
|
|
|
IncludeBlocks: Preserve
|
|
SortIncludes: CaseSensitive
|
|
|
|
# Keep the "} // namespace vdm" trailer style Google uses.
|
|
FixNamespaceComments: true
|
|
ShortNamespaceLines: 0
|
|
---
|