3 Commits

Author SHA1 Message Date
Yash Tibrewal 95a1de4935 [examples] Initialize logging (#39095)
Closes #39095

PiperOrigin-RevId: 741352357
2025-03-27 18:49:43 -07:00
Esun Kim dc65036957 [C++] Transition to C++17 (CMake) (#38335)
CMake needs following two changes which were missed part from https://github.com/grpc/grpc/pull/37919 to make CMake use C++17.
- **Explicitly require C++17 for gRPC targets using `cxx_std_17`**: This ensures that gRPC build targets are built with the correct C++17 support.
- **Enforce C++17 for all CMake invocations using `CMAKE_CXX_STANDARD=17`**: This is necessary due to Abseil's API changes depending on the C++ standard used. (e.g. Abseil's `absl::string_view` is implemented differently depending on the C++ standard. Before C++17, it's a distinct type. From C++17 onwards, it's simply an alias for `std::string_view`.) To maintain consistency and avoid build errors, all CMake builds (except particular build tests targetting C++20 or C++23) are now configured to use C++17.

The requirement of C++17 for building gRPC should be documented in the release notes and build instructions.

Closes #38335

PiperOrigin-RevId: 712926964
2025-01-07 08:48:11 -08:00
Yash Tibrewal ac303a09f6 [OTel] Generate pkg-config file for grpcpp_otel_plugin (#36686)
Public Changes -
* Add a pkgconfig installer for `grpcpp_otel_plugin`

Example Changes -
* Add example of how to use the pkgconfig for `grpcpp_otel_plugin` with the existing OpenTelemetry example.
* Add another OpenTelemetry example that uses OTel's OStream exporter. This makes it easier to test the pkgconfig file for `grpcpp_otel_plugin` since the OStream exporter does not require any additional dependencies, as opposed to the Prometheus exporter.

Test changes -
* Modify `run_distrib_test_cmake_pkgconfig.sh` test to install opentelemetry and build the example with the OStream exporter.

Closes #36686

PiperOrigin-RevId: 636965475
2024-05-24 10:41:11 -07:00