pkg: wire top-level CMake, clang-format/tidy, editorconfig

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
This commit is contained in:
2026-09-09 19:22:36 +04:00
co-authored by Claude Sonnet 5
parent fd70c3b595
commit 81dba88362
5 changed files with 229 additions and 33 deletions
+29
View File
@@ -0,0 +1,29 @@
# 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
---