Developer Expierence Improvements and Infrastructure Modernization#680
Draft
k5602 wants to merge 9 commits intometacall:developfrom
Draft
Developer Expierence Improvements and Infrastructure Modernization#680k5602 wants to merge 9 commits intometacall:developfrom
k5602 wants to merge 9 commits intometacall:developfrom
Conversation
Pull clang-format image at CMake configure time to avoid long first-run pulls when invoking the clang-format build target.
Standardize repository to LF line endings to avoid CRLF-related diffs and tooling inconsistencies. Files changed: .editorconfig, .clang-format
Fix several CMake flag issues and typos Correct the stack protector check to use the C variable so -fstack-protector is detected for C builds. Fix CRT macro typos (_CTR -> _CRT) in C and C++ warning settings. _FORTIFY_SOURCE is appended only to Release and RelWithDebInfo flag sets to avoid forcing -O3. Use message(STATUS) for unknown compiler cases
Map macOS to the unix hooks directory and set the project's local core.hooksPath via git config
viferga
requested changes
Mar 12, 2026
| # SpacesInSquareBrackets: false | ||
| TabWidth: 4 | ||
| UseCRLF: true | ||
| UseCRLF: false |
| [*] | ||
| charset = utf-8 | ||
| end_of_line = crlf | ||
| end_of_line = lf |
Member
There was a problem hiding this comment.
this is wrong too, use crlf it's cross-platform
Contributor
Author
There was a problem hiding this comment.
I appreciate the guidance, but after searching after last talk and the problem i went through from the wrong .editorconfig i was through +5000 & -3000 problem when i pulled it, so i want to state that LF is actually the cross-platform standard. CRLF is Windows-specific only. Using LF with Git's core.autocrlf setting ensures that developers on Windows, Mac, and Linux etc all work with consistent line endings, and lf gives the best of both worlds and it's the standard the works everywhere.
Add installation logic for clang-format 12 to the Windows and POSIX environment setup scripts. Windows: download standalone clang-format 12 executable to dependencies and expose both clang-format.exe and clang-format-12.exe. If the download fails but Docker is present, install a wrapper that proxies through a pinned Docker image. POSIX: try distro-specific native installs (apt, apk, dnf/yum, zypper, brew). If native install is unavailable or the version mismatches, create a Docker-based wrapper at /usr/local/bin using the same pinned image. Provide an unversioned alias only when no system clang-format exists. Ensure cmake/FindClangFormat and git hooks can find a callable, versioned clang-format during build and formatting steps.
Emit a CMake WARNING when a sanitizer option is enabled but the build type will not activate it. Checks OPTION_BUILD_THREAD_SANITIZER, OPTION_BUILD_MEMORY_SANITIZER and OPTION_BUILD_ADDRESS_SANITIZER are warned unless CMAKE_BUILD_TYPE is Debug or RelWithDebInfo. This prevents silent no-ops that waste debugging time (as occurred in node_ci). Suggest reconfiguring with -DCMAKE_BUILD_TYPE=Debug to enable sanitizers. Also fix spacing in tools/metacall-build.sh so the BUILD_BENCHMARKS condition parses correctly
Find clang-format 12 on host and fall back to a Docker wrapper when not available Add common install paths for Linux/macOS/Windows Validate major version and generate shell/cmd wrappers in the build directory Update pre-commit hook to prefer clang-format-12 and use Docker image ghcr.io/jidicula/clang-format:12 when native binary is missing; pull image early to avoid stalls Restrict formatting to source/* C/C++ files and improve messages and interactive UI Ensure consistent formatting version across CI and contributors
Member
|
This PR is too big, I'm going to put it as draft and we can PR small parts of it incrementally. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
drafted and will be updated once it's over,tested and approved.