Skip to content

Conversation

marcalff
Copy link
Member

Contributes to #2481

This is a partial fix, to implement the CMake build.

Changes

Please provide a brief description of the changes here.

  • Implement the CMake build.

For significant contributions please make sure you have completed the following items:

  • CHANGELOG.md updated for non-trivial changes
  • Unit tests have been added
  • Changes in public API reviewed

@marcalff marcalff requested a review from a team as a code owner September 23, 2025 21:35
Copy link

codecov bot commented Sep 23, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.11%. Comparing base (0875ca1) to head (bc2d89d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3655      +/-   ##
==========================================
- Coverage   90.15%   90.11%   -0.04%     
==========================================
  Files         221      221              
  Lines        7135     7135              
==========================================
- Hits         6432     6429       -3     
- Misses        703      706       +3     

see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@marcalff marcalff added the pr:please-review This PR is ready for review label Sep 24, 2025
@dbarker
Copy link
Member

dbarker commented Sep 26, 2025

Thanks for the PR. Excited to get this building :). I left some comments and mainly interested in getting the ryml dependency managed like the others (git tag files to define the version, FetchContent support, and install with the common third party CMake project instead of the bash script). Seems reasonable to follow up with these before the next release if it's too much change in this PR.

@marcalff
Copy link
Member Author

Thanks for the PR. Excited to get this building :). I left some comments and mainly interested in getting the ryml dependency managed like the others (git tag files to define the version, FetchContent support, and install with the common third party CMake project instead of the bash script). Seems reasonable to follow up with these before the next release if it's too much change in this PR.

Thanks for all the comments.

Most fixed, the cmake install tests are deferred to a follow up PR.

I propose to merge this part now, it is self contained and a good size fix already, no need to make it bigger.

set(ryml_PROVIDER "fetch_repository")

set(RYML_ENABLE_TESTING OFF CACHE BOOL "" FORCE)
set(RYML_ENABLE_INSTALL OFF CACHE BOOL "" FORCE)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the follow up PR with install tests we should also change this to

set(RYML_ENABLE_INSTALL ${OPENTELEMETRY_INSTALL} CACHE BOOL "" FORCE)

This should allow the install to complete if ryml is fetched.

Copy link
Member

@dbarker dbarker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thanks! Noting some potential follow up PRs.

  • replace add_definitions with target_compile_definitions in the example and elsewhere
  • Update ryml.cmake to install ryml if OPENTELEMETRY_INSTALL is ON
  • Test the new yaml example with the install
  • Consider breaking up the opentelemetry-cpp::configuration target into opentelemetry-cpp::configuration_common and a opentelemetry-cpp::configuration_ryml target that brings in the third party dependency.

@marcalff marcalff merged commit b0fc083 into main Sep 28, 2025
67 checks passed
@marcalff marcalff deleted the merge_config_cmake_build branch September 28, 2025 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:please-review This PR is ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants