Skip to content

Keep vendored fmt and spdlog warnings non-fatal - #35

Open
quartzjer wants to merge 1 commit into
NVIDIA:mainfrom
solpbc:fix/third-party-warning-boundaries
Open

quartzjer wants to merge 1 commit into
NVIDIA:mainfrom
solpbc:fix/third-party-warning-boundaries

Conversation

@quartzjer

Copy link
Copy Markdown
Contributor

Summary

  • disable COMPILE_WARNING_AS_ERROR for the vendored fmt and spdlog targets
  • classify their include directories as SYSTEM at each SDK, CLI, and test consumer without changing first-party include classification

Fixes #32.

Testing

  • configured nv-attestation-cli with tests enabled on macOS 26.5, AppleClang 21.0.0, arm64
  • built the fmt and spdlog targets; the libc++ deprecation warnings remain visible but no longer fail the build
  • checked the generated compile commands: fmt and spdlog omit -Werror; nvat, nvattest, and both test targets retain it and use the two vendored roots via -isystem

Signed-off-by: Jer Miller <jeremie.miller@gmail.com>
@quartzjer
quartzjer force-pushed the fix/third-party-warning-boundaries branch from 823d0aa to 723eb8e Compare October 7, 2026 17:20
@quartzjer

Copy link
Copy Markdown
Contributor Author

rebased onto 2026.10.02, still one commit. the conflicts were context only: the new zcbor and generated include dirs sit in the same target_include_directories blocks, and they stay first-party. the new fuzz targets also include fmt and spdlog, so they get the same SYSTEM treatment.

checked in the dev/Dockerfile image with clang:

  • the SDK builds with BUILD_TESTING=ON and BUILD_FUZZ_TESTS=ON, including all 15 fuzz targets, and the CLI builds with its tests
  • in the generated compile commands, fmt and spdlog omit -Werror. nvat, nvattest, the unit tests, the CLI tests and the fuzz targets keep it and reach the two vendored roots through -isystem
  • ctest -L unit with networking off and a placeholder NVAT_C_SDK_TEST_SERVICE_KEY: 918 of 960 pass. the other 42 fail resolving the OCSP and RIM hosts

the image ships CMake 3.22, and COMPILE_WARNING_AS_ERROR needs 3.24, so the CLI build ran with CMake 3.31 and autotools. i didn't run the CLI tests, which need a GPU driver, or the AppleClang 21 build from the original description.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: vendored fmt and spdlog are treated as first-party for warnings

2 participants