From 3e29e04f8ee5cfe74856de0ff91fa25a70b5d5bd Mon Sep 17 00:00:00 2001 From: owent Date: Mon, 20 Jul 2026 02:05:24 +0800 Subject: [PATCH 1/6] Fixes 4184 Fixes OTELCPP_BUILD_DLL and markdownlint Fixes formatting Fixes OTELCPP_BUILD_TESTING and add CHANGELOG --- .github/copilot-instructions.md | 14 +- .github/workflows/codeql-analysis.yml | 2 +- CHANGELOG.md | 26 + CMakeLists.txt | 443 ++++++++++-------- CMakeSettings.json | 24 +- INSTALL.md | 14 +- api/CMakeLists.txt | 67 +-- api/test/CMakeLists.txt | 2 +- api/test/baggage/CMakeLists.txt | 2 +- api/test/common/CMakeLists.txt | 2 +- api/test/logs/CMakeLists.txt | 2 +- api/test/trace/CMakeLists.txt | 2 +- ci/README.md | 16 +- ci/do_ci.ps1 | 75 +-- ci/do_ci.sh | 164 +++---- cmake/curl.cmake | 2 +- cmake/grpc.cmake | 4 +- cmake/ms-gsl.cmake | 2 +- cmake/nlohmann-json.cmake | 2 +- ...entelemetry-build-external-component.cmake | 8 +- cmake/opentelemetry-proto.cmake | 18 +- cmake/package.cmake | 6 +- cmake/patch-imported-config.cmake | 2 +- cmake/protobuf.cmake | 4 +- cmake/ryml.cmake | 2 +- cmake/tools.cmake | 83 ++++ docker/Dockerfile | 4 +- docs/abi-policy.md | 2 +- docs/abi-version-policy.md | 24 +- docs/build-as-dll.md | 2 +- docs/dependencies.md | 2 +- docs/deprecation-process.md | 8 +- examples/CMakeLists.txt | 20 +- examples/batch/CMakeLists.txt | 2 +- examples/common/foo_library/CMakeLists.txt | 2 +- .../common/logs_foo_library/CMakeLists.txt | 2 +- .../common/metrics_foo_library/CMakeLists.txt | 2 +- examples/configuration/CMakeLists.txt | 12 +- examples/custom_http_client/CMakeLists.txt | 2 +- examples/environment_carrier/CMakeLists.txt | 4 +- examples/etw_threads/CMakeLists.txt | 2 +- examples/explicit_parent/CMakeLists.txt | 2 +- examples/http/CMakeLists.txt | 2 +- examples/logger_configurator/CMakeLists.txt | 2 +- examples/logs_simple/CMakeLists.txt | 4 +- examples/metrics_simple/CMakeLists.txt | 4 +- examples/multi_processor/CMakeLists.txt | 2 +- examples/multithreaded/CMakeLists.txt | 2 +- examples/otlp/CMakeLists.txt | 26 +- examples/plugin/CMakeLists.txt | 4 +- examples/simple/CMakeLists.txt | 4 +- examples/tracer_configurator/CMakeLists.txt | 2 +- exporters/CMakeLists.txt | 14 +- exporters/elasticsearch/CMakeLists.txt | 6 +- exporters/etw/CMakeLists.txt | 6 +- exporters/memory/CMakeLists.txt | 4 +- exporters/ostream/CMakeLists.txt | 10 +- exporters/otlp/CMakeLists.txt | 40 +- exporters/prometheus/CMakeLists.txt | 4 +- exporters/zipkin/CMakeLists.txt | 8 +- exporters/zipkin/README.md | 2 +- ext/CMakeLists.txt | 2 +- .../ext/http/client/detail/default_factory.h | 2 +- ext/src/CMakeLists.txt | 18 +- ext/src/dll/CMakeLists.txt | 18 +- ext/src/http/client/curl/CMakeLists.txt | 4 +- ext/src/http/client/curl/http_client_curl.cc | 4 +- ext/test/CMakeLists.txt | 2 +- ext/test/http/CMakeLists.txt | 2 +- .../CMakeLists.txt | 2 +- functional/CMakeLists.txt | 2 +- functional/otlp/CMakeLists.txt | 4 +- .../test/cmake/api_only_test/CMakeLists.txt | 49 +- .../test/cmake/examples_test/CMakeLists.txt | 18 +- .../cmake/fetch_content_test/CMakeLists.txt | 19 + opentracing-shim/CMakeLists.txt | 4 +- resource_detectors/CMakeLists.txt | 2 +- sdk/CMakeLists.txt | 4 +- sdk/src/CMakeLists.txt | 2 +- sdk/src/common/CMakeLists.txt | 2 +- sdk/src/configuration/CMakeLists.txt | 2 +- sdk/src/logs/CMakeLists.txt | 2 +- sdk/src/metrics/CMakeLists.txt | 2 +- sdk/src/resource/CMakeLists.txt | 2 +- sdk/src/trace/CMakeLists.txt | 2 +- sdk/src/version/CMakeLists.txt | 2 +- sdk/test/CMakeLists.txt | 2 +- sdk/test/common/CMakeLists.txt | 2 +- sdk/test/metrics/CMakeLists.txt | 6 +- sdk/test/trace/CMakeLists.txt | 2 +- test_common/CMakeLists.txt | 2 +- .../cmake/all-options-abiv1-preview.cmake | 4 +- test_common/cmake/all-options-abiv1.cmake | 4 +- .../cmake/all-options-abiv2-preview.cmake | 4 +- test_common/cmake/all-options-abiv2.cmake | 4 +- test_common/cmake/component-options.cmake | 18 +- test_common/cmake/example-options.cmake | 4 +- test_common/cmake/preview-options.cmake | 24 +- test_common/cmake/testing-options.cmake | 8 +- test_common/src/CMakeLists.txt | 2 +- .../src/http/client/nosend/CMakeLists.txt | 2 +- tools/build.cmd | 4 +- tools/ports/opentelemetry/portfile.cmake | 2 +- 103 files changed, 848 insertions(+), 644 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 1878128eb8..4e5cfe6ed8 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -212,13 +212,13 @@ code.coverage # Build with coverage analysis Key options you can pass to `cmake ..`: ```bash --DWITH_EXAMPLES=ON # Build examples (default ON) --DWITH_PROMETHEUS=ON # Enable Prometheus exporter --DWITH_ZIPKIN=ON # Enable Zipkin exporter --DWITH_OTLP_GRPC=ON # Enable OTLP gRPC exporter --DWITH_OTLP_HTTP=ON # Enable OTLP HTTP exporter --DBUILD_TESTING=ON # Build tests (default ON) --DCMAKE_BUILD_TYPE=Debug # Debug build +-DOTELCPP_WITH_EXAMPLES=ON # Build examples (default ON) +-DOTELCPP_WITH_PROMETHEUS=ON # Enable Prometheus exporter +-DOTELCPP_WITH_ZIPKIN=ON # Enable Zipkin exporter +-DOTELCPP_WITH_OTLP_GRPC=ON # Enable OTLP gRPC exporter +-DOTELCPP_WITH_OTLP_HTTP=ON # Enable OTLP HTTP exporter +-DOTELCPP_BUILD_TESTING=ON # Build tests (default ON) +-DCMAKE_BUILD_TYPE=Debug # Debug build ``` ## Timing Expectations diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 589a962a9d..aca308aa20 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -67,7 +67,7 @@ jobs: mkdir -p $HOME/build && cd $HOME/build cmake -G Ninja \ -C ${GITHUB_WORKSPACE}/test_common/cmake/all-options-abiv2-preview.cmake \ - -DWITH_OPENTRACING=OFF \ + -DOTELCPP_WITH_OPENTRACING=OFF \ "${GITHUB_WORKSPACE}" cmake --build . --parallel - name: Perform CodeQL Analysis diff --git a/CHANGELOG.md b/CHANGELOG.md index a5a5da6ba2..70661f3daf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,9 @@ Increment the: * [CODE HEALTH] Fix more clang tidy warnings (member initialization) [#4270](https://github.com/open-telemetry/opentelemetry-cpp/pull/4270) +* [CMAKE] Rename cmake options with prefix `OTELCPP_` + [#4268](https://github.com/open-telemetry/opentelemetry-cpp/pull/4268) + * docs: update supported development platforms [#4260](https://github.com/open-telemetry/opentelemetry-cpp/pull/4260) @@ -43,6 +46,29 @@ Increment the: Breaking changes: +* [CMAKE] Rename cmake options with prefix `OTELCPP_` + [#4268](https://github.com/open-telemetry/opentelemetry-cpp/pull/4268) + * All CMake build options were renamed with the `OTELCPP_` prefix to avoid + name collisions with user and third-party project variables: + * `WITH_*` options are renamed to `OTELCPP_WITH_*`, for example + `WITH_OTLP_HTTP` becomes `OTELCPP_WITH_OTLP_HTTP` + * `BUILD_TESTING` becomes `OTELCPP_BUILD_TESTING` + * `BUILD_W3CTRACECONTEXT_TEST` becomes + `OTELCPP_BUILD_W3CTRACECONTEXT_TEST` + * `BUILD_PACKAGE` becomes `OTELCPP_BUILD_PACKAGE` + * `TARBALL` becomes `OTELCPP_TARBALL` + * `OPENTELEMETRY_BUILD_DLL` becomes `OTELCPP_BUILD_DLL` + * `OPENTELEMETRY_INSTALL` becomes `OTELCPP_INSTALL` + * `OPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS` becomes + `OTELCPP_SKIP_DYNAMIC_LOADING_TESTS` + * `OPENTELEMETRY_EXTERNAL_COMPONENT_PATH` becomes + `OTELCPP_EXTERNAL_COMPONENT_PATH` + * The legacy option names are still accepted but deprecated: a deprecation + warning is emitted at configure time, and the `OTELCPP_` name takes + precedence when both names are set. + * Please update build scripts and CI configurations to use the new option + names. + * [METRICS SDK] Rename Base2 Exponential Histogram Aggregation config field [#4253](https://github.com/open-telemetry/opentelemetry-cpp/pull/4253) * The public configuration member `max_buckets_` was renamed to `max_size_` to diff --git a/CMakeLists.txt b/CMakeLists.txt index c6f255c49c..7aee5253b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,8 @@ project( # Mark variables as used so cmake doesn't complain about them mark_as_advanced(CMAKE_TOOLCHAIN_FILE) +include("${opentelemetry-cpp_SOURCE_DIR}/cmake/tools.cmake") + # Set the third-party release git tags. if(EXISTS "${opentelemetry-cpp_SOURCE_DIR}/third_party_release") file(STRINGS "${opentelemetry-cpp_SOURCE_DIR}/third_party_release" @@ -57,32 +59,42 @@ if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE) CACHE STRING "") endif() -option(WITH_ABI_VERSION_1 "ABI version 1" ON) -option(WITH_ABI_VERSION_2 "EXPERIMENTAL: ABI version 2 preview" OFF) +otelcpp_option_flag(OTELCPP_WITH_ABI_VERSION_1 "ABI version 1" ON) +otelcpp_option_flag(OTELCPP_WITH_ABI_VERSION_2 + "EXPERIMENTAL: ABI version 2 preview" OFF) -if(DEFINED WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW - AND WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW - AND NOT WITH_ABI_VERSION_2) +set(_OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW_REQUESTED OFF) +if(DEFINED OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW) + set(_OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW_REQUESTED + "${OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW}") +elseif(DEFINED WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW) + set(_OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW_REQUESTED + "${WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW}") +endif() +if(_OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW_REQUESTED + AND NOT OTELCPP_WITH_ABI_VERSION_2) message( FATAL_ERROR - "WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW requires WITH_ABI_VERSION_2") + "OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW requires OTELCPP_WITH_ABI_VERSION_2" + ) endif() - -include(CMakeDependentOption) +unset(_OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW_REQUESTED) # Experimental: bound synchronous metric instruments (Counter, Histogram). -# Requires WITH_ABI_VERSION_2. Context-bearing bound operations, exemplar -# parity, Gauge, and UpDownCounter bound support are follow-ups. -cmake_dependent_option( - WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW +# Requires OTELCPP_WITH_ABI_VERSION_2. Context-bearing bound operations, +# exemplar parity, Gauge, and UpDownCounter bound support are follow-ups. +otelcpp_dependent_option( + OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW "EXPERIMENTAL: bound synchronous metric instruments preview" OFF - "WITH_ABI_VERSION_2" OFF) + "OTELCPP_WITH_ABI_VERSION_2" OFF) -option(WITH_CONFIGURATION "EXPERIMENTAL: YAML configuration file" OFF) +otelcpp_option_flag(OTELCPP_WITH_CONFIGURATION + "EXPERIMENTAL: YAML configuration file" OFF) # -# We do not want to have WITH_ABI_VERSION = "1" or "2", and instead prefer two -# distinct flags, WITH_ABI_VERSION_1 and WITH_ABI_VERSION_2. +# We do not want to have OTELCPP_WITH_ABI_VERSION = "1" or "2", and instead +# prefer two distinct flags, OTELCPP_WITH_ABI_VERSION_1 and +# OTELCPP_WITH_ABI_VERSION_2. # # This allows: # @@ -90,53 +102,56 @@ option(WITH_CONFIGURATION "EXPERIMENTAL: YAML configuration file" OFF) # * to mark experimental/stable/deprecated on flags, for clarity # * to search for exact abi usage move easily, discouraging: # -# * cmake -DWITH_ABI_VERSION=${ARG} +# * cmake -DOTELCPP_WITH_ABI_VERSION=${ARG} # -# While not supported, having distinct WITH_ABI_VERSION_1 and WITH_ABI_VERSION_2 -# flags also opens the possibility to support multiple ABI concurrently, should -# that become necessary. +# While not supported, having distinct OTELCPP_WITH_ABI_VERSION_1 and +# OTELCPP_WITH_ABI_VERSION_2 flags also opens the possibility to support +# multiple ABI concurrently, should that become necessary. # -if(WITH_ABI_VERSION_1 AND WITH_ABI_VERSION_2) +if(OTELCPP_WITH_ABI_VERSION_1 AND OTELCPP_WITH_ABI_VERSION_2) # # Only one ABI is supported in a build. # message( - FATAL_ERROR "Set either WITH_ABI_VERSION_1 or WITH_ABI_VERSION_2, not both") + FATAL_ERROR + "Set either OTELCPP_WITH_ABI_VERSION_1 or OTELCPP_WITH_ABI_VERSION_2, not both" + ) endif() -if(WITH_ABI_VERSION_2) +if(OTELCPP_WITH_ABI_VERSION_2) set(OPENTELEMETRY_ABI_VERSION_NO "2") -elseif(WITH_ABI_VERSION_1) +elseif(OTELCPP_WITH_ABI_VERSION_1) set(OPENTELEMETRY_ABI_VERSION_NO "1") else() set(OPENTELEMETRY_ABI_VERSION_NO "${OPENTELEMETRY_ABI_VERSION_DEFAULT}") endif() -if(WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW AND NOT WITH_ABI_VERSION_2) +if(OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW + AND NOT OTELCPP_WITH_ABI_VERSION_2) message( FATAL_ERROR - "WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW requires WITH_ABI_VERSION_2") + "OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW requires OTELCPP_WITH_ABI_VERSION_2" + ) endif() -option(WITH_NO_DEPRECATED_CODE "Do not include deprecated code" OFF) +otelcpp_option_flag(OTELCPP_WITH_NO_DEPRECATED_CODE + "Do not include deprecated code" OFF) -set(WITH_STL - "OFF" - CACHE STRING "Which version of the Standard Library for C++ to use") +otelcpp_option_variable(OTELCPP_WITH_STL "OFF" STRING + "Which version of the Standard Library for C++ to use") -option(WITH_GSL - "Whether to use Guidelines Support Library for C++ latest features" OFF) +otelcpp_option_flag( + OTELCPP_WITH_GSL + "Whether to use Guidelines Support Library for C++ latest features" OFF) -set(OPENTELEMETRY_INSTALL_default ON) +set(OTELCPP_INSTALL_DEFAULT ON) if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - set(OPENTELEMETRY_INSTALL_default OFF) + set(OTELCPP_INSTALL_DEFAULT OFF) endif() -option(OPENTELEMETRY_INSTALL "Whether to install opentelemetry targets" - ${OPENTELEMETRY_INSTALL_default}) - -include("${opentelemetry-cpp_SOURCE_DIR}/cmake/tools.cmake") +otelcpp_option_flag(OTELCPP_INSTALL "Whether to install opentelemetry targets" + ${OTELCPP_INSTALL_DEFAULT}) -if(NOT WITH_STL STREQUAL "OFF") +if(NOT OTELCPP_WITH_STL STREQUAL "OFF") # These definitions are needed for test projects that do not link against # opentelemetry-api library directly. We ensure that variant implementation # (absl::variant or std::variant) in variant unit test code is consistent with @@ -155,67 +170,98 @@ if(NOT WITH_STL STREQUAL "OFF") endif() endif() -option(WITH_OTLP_RETRY_PREVIEW "Whether to enable retry functionality" ON) +otelcpp_option_flag(OTELCPP_WITH_OTLP_RETRY_PREVIEW + "Whether to enable retry functionality" ON) -option(WITH_OTLP_GRPC_SSL_MTLS_PREVIEW - "Whether to enable mTLS support for gRPC" ON) +otelcpp_option_flag(OTELCPP_WITH_OTLP_GRPC_SSL_MTLS_PREVIEW + "Whether to enable mTLS support for gRPC" ON) -option(WITH_OTLP_GRPC_CREDENTIAL_PREVIEW - "Whether to enable gRPC credentials option in OTLP gRPC Exporter" OFF) +otelcpp_option_flag( + OTELCPP_WITH_OTLP_GRPC_CREDENTIAL_PREVIEW + "Whether to enable gRPC credentials option in OTLP gRPC Exporter" OFF) -option(WITH_OTLP_GRPC "Whether to include the OTLP gRPC exporter in the SDK" - OFF) +otelcpp_option_flag(OTELCPP_WITH_OTLP_GRPC + "Whether to include the OTLP gRPC exporter in the SDK" OFF) -option(WITH_OTLP_HTTP "Whether to include the OTLP http exporter in the SDK" - OFF) +otelcpp_option_flag(OTELCPP_WITH_OTLP_HTTP + "Whether to include the OTLP http exporter in the SDK" OFF) -option(WITH_OTLP_FILE "Whether to include the OTLP file exporter in the SDK" - OFF) +otelcpp_option_flag(OTELCPP_WITH_OTLP_FILE + "Whether to include the OTLP file exporter in the SDK" OFF) -option( - WITH_OTLP_HTTP_COMPRESSION +otelcpp_option_flag( + OTELCPP_WITH_OTLP_HTTP_COMPRESSION "Whether to include gzip compression for the OTLP http exporter in the SDK" OFF) -option( - WITH_OTLP_UTF8_VALIDITY +otelcpp_option_flag( + OTELCPP_WITH_OTLP_UTF8_VALIDITY "Whether to enable UTF-8 validity checks for the OTLP exporter in the SDK" ON) -option(WITH_CURL_LOGGING "Whether to enable select CURL verbosity in OTel logs" - OFF) +otelcpp_option_flag(OTELCPP_WITH_CURL_LOGGING + "Whether to enable select CURL verbosity in OTel logs" OFF) + +otelcpp_option_flag(OTELCPP_WITH_ZIPKIN + "Whether to include the Zipkin exporter in the SDK" OFF) -option(WITH_ZIPKIN "Whether to include the Zipkin exporter in the SDK" OFF) +otelcpp_option_flag(OTELCPP_WITH_PROMETHEUS + "Whether to include the Prometheus Client in the SDK" OFF) -option(WITH_PROMETHEUS "Whether to include the Prometheus Client in the SDK" - OFF) +otelcpp_option_flag( + OTELCPP_WITH_ELASTICSEARCH + "Whether to include the Elasticsearch Client in the SDK" OFF) -option(WITH_ELASTICSEARCH - "Whether to include the Elasticsearch Client in the SDK" OFF) +otelcpp_option_flag(OTELCPP_WITH_NO_GETENV + "Whether the platform supports environment variables" OFF) -option(WITH_NO_GETENV "Whether the platform supports environment variables" OFF) +# BUILD_TESTING is a standard CMake variable, so use it only as the top-level +# default and do not treat it as a deprecated alias. +if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) + if(DEFINED BUILD_TESTING) + option(OTELCPP_BUILD_TESTING "Whether to enable tests" "${BUILD_TESTING}") + else() + option(OTELCPP_BUILD_TESTING "Whether to enable tests" ON) + endif() + otelcpp_option_flag( + OTELCPP_WITH_BENCHMARK "Whether to build benchmark program" + ${OTELCPP_BUILD_TESTING}) +else() + option(OTELCPP_BUILD_TESTING "Whether to enable tests" OFF) + otelcpp_option_flag(OTELCPP_WITH_BENCHMARK + "Whether to build benchmark program" OFF) +endif() -option(BUILD_TESTING "Whether to enable tests" ON) +otelcpp_option_flag(OTELCPP_BUILD_W3CTRACECONTEXT_TEST + "Whether to build w3c trace context" OFF) -option(WITH_BENCHMARK "Whether to build benchmark program" ON) +otelcpp_option_flag(OTELCPP_MAINTAINER_MODE + "Build in maintainer mode (-Wall -Werror)" OFF) -option(BUILD_W3CTRACECONTEXT_TEST "Whether to build w3c trace context" OFF) +otelcpp_option_flag(OTELCPP_WITH_OPENTRACING + "Whether to include the Opentracing shim" OFF) -option(OTELCPP_MAINTAINER_MODE "Build in maintainer mode (-Wall -Werror)" OFF) +otelcpp_option_flag(OTELCPP_VERSIONED_LIBS + "Whether to generate the versioned shared libs" OFF) +otelcpp_option_flag( + OTELCPP_BUILD_DLL + "Whether to build the OpenTelemetry C++ SDK as a Windows DLL" OFF) -option(WITH_OPENTRACING "Whether to include the Opentracing shim" OFF) +otelcpp_option_flag(OTELCPP_BUILD_PACKAGE "Whether to generate a package" OFF) -option(OTELCPP_VERSIONED_LIBS "Whether to generate the versioned shared libs" - OFF) +otelcpp_option_variable( + OTELCPP_EXTERNAL_COMPONENT_PATH "" STRING + "Semicolon-separated paths to external components to build") if(OTELCPP_VERSIONED_LIBS AND NOT BUILD_SHARED_LIBS) message(FATAL_ERROR "OTELCPP_VERSIONED_LIBS=ON requires BUILD_SHARED_LIBS=ON") endif() if(WIN32) - option(WITH_ETW "Whether to include the ETW Exporter in the SDK" ON) + otelcpp_option_flag(OTELCPP_WITH_ETW + "Whether to include the ETW Exporter in the SDK" ON) else() - if(DEFINED (WITH_ETW)) - message(FATAL_ERROR "WITH_ETW is only supported on Windows") + if(DEFINED OTELCPP_WITH_ETW OR DEFINED WITH_ETW) + message(FATAL_ERROR "OTELCPP_WITH_ETW is only supported on Windows") endif() endif(WIN32) @@ -224,36 +270,38 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang") add_compile_options(-Wno-error=deprecated-declarations) endif() -option( - WITH_API_ONLY - "Only build the API (use as a header-only library). Overrides WITH_EXAMPLES and all options to enable exporters" +otelcpp_option_flag( + OTELCPP_WITH_API_ONLY + "Only build the API (use as a header-only library). Overrides OTELCPP_WITH_EXAMPLES and all options to enable exporters" OFF) -option(WITH_EXAMPLES "Whether to build examples" ON) +otelcpp_option_flag(OTELCPP_WITH_EXAMPLES "Whether to build examples" ON) # This requires CURL, OFF by default. -option( - WITH_EXAMPLES_HTTP - "Whether to build http client/server examples. Requires WITH_EXAMPLES and CURL" +otelcpp_option_flag( + OTELCPP_WITH_EXAMPLES_HTTP + "Whether to build http client/server examples. Requires OTELCPP_WITH_EXAMPLES and CURL" OFF) -option(WITH_FUNC_TESTS "Whether to build functional tests" ON) +otelcpp_option_flag(OTELCPP_WITH_FUNC_TESTS "Whether to build functional tests" + ON) -option(WITH_ASYNC_EXPORT_PREVIEW "Whether to enable async export" OFF) +otelcpp_option_flag(OTELCPP_WITH_ASYNC_EXPORT_PREVIEW + "Whether to enable async export" OFF) # Exemplar specs status is experimental, so behind feature flag by default -option(WITH_METRICS_EXEMPLAR_PREVIEW - "Whether to enable exemplar within metrics" OFF) +otelcpp_option_flag(OTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW + "Whether to enable exemplar within metrics" OFF) # Experimental, so behind feature flag by default -option(WITH_THREAD_INSTRUMENTATION_PREVIEW - "Whether to enable thread instrumentation" OFF) +otelcpp_option_flag(OTELCPP_WITH_THREAD_INSTRUMENTATION_PREVIEW + "Whether to enable thread instrumentation" OFF) -option(WITH_RESOURCE_DETECTORS_PREVIEW - "Whether to enable inbuilt resource detectors" OFF) +otelcpp_option_flag(OTELCPP_WITH_RESOURCE_DETECTORS_PREVIEW + "Whether to enable inbuilt resource detectors" OFF) -option(OPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS - "Whether to build test libraries that are always linked as shared libs" - OFF) +otelcpp_option_flag( + OTELCPP_SKIP_DYNAMIC_LOADING_TESTS + "Whether to build test libraries that are always linked as shared libs" OFF) # # Verify options dependencies @@ -261,15 +309,17 @@ option(OPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS include(FetchContent) -if(WITH_EXAMPLES_HTTP AND NOT WITH_EXAMPLES) - message(FATAL_ERROR "WITH_EXAMPLES_HTTP=ON requires WITH_EXAMPLES=ON") +if(OTELCPP_WITH_EXAMPLES_HTTP AND NOT OTELCPP_WITH_EXAMPLES) + message( + FATAL_ERROR + "OTELCPP_WITH_EXAMPLES_HTTP=ON requires OTELCPP_WITH_EXAMPLES=ON") endif() -if(WITH_GSL) +if(OTELCPP_WITH_GSL) include("${opentelemetry-cpp_SOURCE_DIR}/cmake/ms-gsl.cmake") endif() -if(NOT WITH_API_ONLY) +if(NOT OTELCPP_WITH_API_ONLY) find_package(Threads) endif() @@ -300,44 +350,43 @@ include(GNUInstallDirs) # Do we need HTTP CLIENT CURL ? # -include(CMakeDependentOption) -cmake_dependent_option( - WITH_HTTP_CLIENT_CURL +otelcpp_dependent_option( + OTELCPP_WITH_HTTP_CLIENT_CURL "Use the curl HTTP client backend. Defaults to ON when any HTTP exporter is enabled; set OFF to supply a custom transport." ON - "WITH_OTLP_HTTP OR WITH_ELASTICSEARCH OR WITH_ZIPKIN OR BUILD_W3CTRACECONTEXT_TEST OR WITH_EXAMPLES_HTTP" + "OTELCPP_WITH_OTLP_HTTP OR OTELCPP_WITH_ELASTICSEARCH OR OTELCPP_WITH_ZIPKIN OR OTELCPP_BUILD_W3CTRACECONTEXT_TEST OR OTELCPP_WITH_EXAMPLES_HTTP" OFF) # -# Locally override options if WITH_API_ONLY is set to prevent third party -# dependencies from being imported +# Locally override options if OTELCPP_WITH_API_ONLY is set to prevent third +# party dependencies from being imported # -if(WITH_API_ONLY) - set(WITH_EXAMPLES OFF) - set(WITH_EXAMPLES_HTTP OFF) - set(WITH_OTLP_GRPC OFF) - set(WITH_OTLP_HTTP OFF) - set(WITH_OTLP_FILE OFF) - set(WITH_ZIPKIN OFF) - set(WITH_PROMETHEUS OFF) - set(WITH_ELASTICSEARCH OFF) - set(WITH_OPENTRACING OFF) - set(WITH_ETW OFF) - set(WITH_CONFIGURATION OFF) - set(WITH_HTTP_CLIENT_CURL OFF) - set(WITH_OTLP_HTTP_COMPRESSION OFF) - set(WITH_BENCHMARK OFF) - set(WITH_FUNC_TESTS OFF) - set(BUILD_TESTING OFF) - set(BUILD_W3CTRACECONTEXT_TEST OFF) +if(OTELCPP_WITH_API_ONLY) + set(OTELCPP_WITH_EXAMPLES OFF) + set(OTELCPP_WITH_EXAMPLES_HTTP OFF) + set(OTELCPP_WITH_OTLP_GRPC OFF) + set(OTELCPP_WITH_OTLP_HTTP OFF) + set(OTELCPP_WITH_OTLP_FILE OFF) + set(OTELCPP_WITH_ZIPKIN OFF) + set(OTELCPP_WITH_PROMETHEUS OFF) + set(OTELCPP_WITH_ELASTICSEARCH OFF) + set(OTELCPP_WITH_OPENTRACING OFF) + set(OTELCPP_WITH_ETW OFF) + set(OTELCPP_WITH_CONFIGURATION OFF) + set(OTELCPP_WITH_HTTP_CLIENT_CURL OFF) + set(OTELCPP_WITH_OTLP_HTTP_COMPRESSION OFF) + set(OTELCPP_WITH_BENCHMARK OFF) + set(OTELCPP_WITH_FUNC_TESTS OFF) + set(OTELCPP_BUILD_TESTING OFF) + set(OTELCPP_BUILD_W3CTRACECONTEXT_TEST OFF) endif() # # Do we need ZLIB ? # -if(WITH_HTTP_CLIENT_CURL AND WITH_OTLP_HTTP_COMPRESSION) +if(OTELCPP_WITH_HTTP_CLIENT_CURL AND OTELCPP_WITH_OTLP_HTTP_COMPRESSION) include("${opentelemetry-cpp_SOURCE_DIR}/cmake/zlib.cmake") endif() @@ -345,7 +394,7 @@ endif() # Do we need CURL ? # -if(WITH_HTTP_CLIENT_CURL) +if(OTELCPP_WITH_HTTP_CLIENT_CURL) include("${opentelemetry-cpp_SOURCE_DIR}/cmake/curl.cmake") endif() @@ -353,7 +402,7 @@ endif() # Do we need prometheus-cpp ? # -if(WITH_PROMETHEUS) +if(OTELCPP_WITH_PROMETHEUS) include("${opentelemetry-cpp_SOURCE_DIR}/cmake/prometheus-cpp.cmake") endif() @@ -361,13 +410,13 @@ endif() # Do we need protobuf and/or gRPC ? # -if(WITH_OTLP_GRPC - OR WITH_OTLP_HTTP - OR WITH_OTLP_FILE) +if(OTELCPP_WITH_OTLP_GRPC + OR OTELCPP_WITH_OTLP_HTTP + OR OTELCPP_WITH_OTLP_FILE) # find or fetch grpc before protobuf to allow protobuf to be built in-tree as # a grpc submodule. - if(WITH_OTLP_GRPC) + if(OTELCPP_WITH_OTLP_GRPC) include("${opentelemetry-cpp_SOURCE_DIR}/cmake/grpc.cmake") endif() @@ -380,12 +429,12 @@ endif() # Do we need NLOHMANN_JSON ? # -if(WITH_ELASTICSEARCH - OR WITH_ZIPKIN - OR WITH_OTLP_HTTP - OR WITH_OTLP_FILE - OR BUILD_W3CTRACECONTEXT_TEST - OR WITH_ETW) +if(OTELCPP_WITH_ELASTICSEARCH + OR OTELCPP_WITH_ZIPKIN + OR OTELCPP_WITH_OTLP_HTTP + OR OTELCPP_WITH_OTLP_FILE + OR OTELCPP_BUILD_W3CTRACECONTEXT_TEST + OR OTELCPP_WITH_ETW) set(USE_NLOHMANN_JSON ON) else() set(USE_NLOHMANN_JSON OFF) @@ -399,7 +448,7 @@ endif() # Do we need RapidYaml ? # -if(WITH_CONFIGURATION) +if(OTELCPP_WITH_CONFIGURATION) include("${opentelemetry-cpp_SOURCE_DIR}/cmake/ryml.cmake") endif() @@ -407,15 +456,22 @@ endif() # Do we need OpenTracing ? # -if(WITH_OPENTRACING) +if(OTELCPP_WITH_OPENTRACING) include("${opentelemetry-cpp_SOURCE_DIR}/cmake/opentracing-cpp.cmake") endif() -include(CTest) -if(BUILD_TESTING) - include("${opentelemetry-cpp_SOURCE_DIR}/cmake/googletest.cmake") +if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) + # Keep CTest's standard option aligned for top-level builds without exposing + # it as an opentelemetry-cpp subproject setting. + set(BUILD_TESTING "${OTELCPP_BUILD_TESTING}") + include(CTest) +elseif(OTELCPP_BUILD_TESTING) enable_testing() - if(WITH_BENCHMARK) +endif() + +if(OTELCPP_BUILD_TESTING) + include("${opentelemetry-cpp_SOURCE_DIR}/cmake/googletest.cmake") + if(OTELCPP_WITH_BENCHMARK) include("${opentelemetry-cpp_SOURCE_DIR}/cmake/benchmark.cmake") endif() endif() @@ -530,74 +586,91 @@ message(STATUS "BUILD_SHARED_LIBS: ${BUILD_SHARED_LIBS}") message(STATUS "---------------------------------------------") message(STATUS "opentelemetry-cpp build options") message(STATUS "---------------------------------------------") -message(STATUS "WITH_API_ONLY: ${WITH_API_ONLY}") -message(STATUS "WITH_NO_DEPRECATED_CODE: ${WITH_NO_DEPRECATED_CODE}") -message(STATUS "WITH_ABI_VERSION_1: ${WITH_ABI_VERSION_1}") -message(STATUS "WITH_ABI_VERSION_2: ${WITH_ABI_VERSION_2}") +message(STATUS "OTELCPP_WITH_API_ONLY: ${OTELCPP_WITH_API_ONLY}") +message( + STATUS "OTELCPP_WITH_NO_DEPRECATED_CODE: ${OTELCPP_WITH_NO_DEPRECATED_CODE}") +message(STATUS "OTELCPP_WITH_ABI_VERSION_1: ${OTELCPP_WITH_ABI_VERSION_1}") +message(STATUS "OTELCPP_WITH_ABI_VERSION_2: ${OTELCPP_WITH_ABI_VERSION_2}") message(STATUS "OTELCPP_VERSIONED_LIBS: ${OTELCPP_VERSIONED_LIBS}") +message(STATUS "OTELCPP_BUILD_PACKAGE: ${OTELCPP_BUILD_PACKAGE}") +message( + STATUS "OTELCPP_EXTERNAL_COMPONENT_PATH: ${OTELCPP_EXTERNAL_COMPONENT_PATH}") message(STATUS "OTELCPP_MAINTAINER_MODE: ${OTELCPP_MAINTAINER_MODE}") -message(STATUS "WITH_STL: ${WITH_STL}") -message(STATUS "WITH_GSL: ${WITH_GSL}") -message(STATUS "WITH_NO_GETENV: ${WITH_NO_GETENV}") -message(STATUS "OPENTELEMETRY_INSTALL: ${OPENTELEMETRY_INSTALL}") +message(STATUS "OTELCPP_WITH_STL: ${OTELCPP_WITH_STL}") +message(STATUS "OTELCPP_WITH_GSL: ${OTELCPP_WITH_GSL}") +message(STATUS "OTELCPP_WITH_NO_GETENV: ${OTELCPP_WITH_NO_GETENV}") +message(STATUS "OTELCPP_INSTALL: ${OTELCPP_INSTALL}") message(STATUS "---------------------------------------------") message(STATUS "opentelemetry-cpp cmake component options") message(STATUS "---------------------------------------------") -message(STATUS "WITH_OTLP_GRPC: ${WITH_OTLP_GRPC}") -message(STATUS "WITH_OTLP_HTTP: ${WITH_OTLP_HTTP}") -message(STATUS "WITH_OTLP_FILE: ${WITH_OTLP_FILE}") -message(STATUS "WITH_HTTP_CLIENT_CURL: ${WITH_HTTP_CLIENT_CURL}") -message(STATUS "WITH_ZIPKIN: ${WITH_ZIPKIN}") -message(STATUS "WITH_PROMETHEUS: ${WITH_PROMETHEUS}") -message(STATUS "WITH_ELASTICSEARCH: ${WITH_ELASTICSEARCH}") -message(STATUS "WITH_OPENTRACING: ${WITH_OPENTRACING}") -message(STATUS "WITH_ETW: ${WITH_ETW}") -message(STATUS "OPENTELEMETRY_BUILD_DLL: ${OPENTELEMETRY_BUILD_DLL}") -message(STATUS "WITH_CONFIGURATION: ${WITH_CONFIGURATION}") +message(STATUS "OTELCPP_WITH_OTLP_GRPC: ${OTELCPP_WITH_OTLP_GRPC}") +message(STATUS "OTELCPP_WITH_OTLP_HTTP: ${OTELCPP_WITH_OTLP_HTTP}") +message(STATUS "OTELCPP_WITH_OTLP_FILE: ${OTELCPP_WITH_OTLP_FILE}") +message( + STATUS "OTELCPP_WITH_HTTP_CLIENT_CURL: ${OTELCPP_WITH_HTTP_CLIENT_CURL}") +message(STATUS "OTELCPP_WITH_ZIPKIN: ${OTELCPP_WITH_ZIPKIN}") +message(STATUS "OTELCPP_WITH_PROMETHEUS: ${OTELCPP_WITH_PROMETHEUS}") +message(STATUS "OTELCPP_WITH_ELASTICSEARCH: ${OTELCPP_WITH_ELASTICSEARCH}") +message(STATUS "OTELCPP_WITH_OPENTRACING: ${OTELCPP_WITH_OPENTRACING}") +message(STATUS "OTELCPP_WITH_ETW: ${OTELCPP_WITH_ETW}") +message(STATUS "OTELCPP_BUILD_DLL: ${OTELCPP_BUILD_DLL}") +message(STATUS "OTELCPP_WITH_CONFIGURATION: ${OTELCPP_WITH_CONFIGURATION}") message(STATUS "---------------------------------------------") message(STATUS "feature preview options") message(STATUS "---------------------------------------------") -message(STATUS "WITH_ASYNC_EXPORT_PREVIEW: ${WITH_ASYNC_EXPORT_PREVIEW}") message( STATUS - "WITH_THREAD_INSTRUMENTATION_PREVIEW: ${WITH_THREAD_INSTRUMENTATION_PREVIEW}" + "OTELCPP_WITH_ASYNC_EXPORT_PREVIEW: ${OTELCPP_WITH_ASYNC_EXPORT_PREVIEW}") +message( + STATUS + "OTELCPP_WITH_THREAD_INSTRUMENTATION_PREVIEW: ${OTELCPP_WITH_THREAD_INSTRUMENTATION_PREVIEW}" ) message( - STATUS "WITH_METRICS_EXEMPLAR_PREVIEW: ${WITH_METRICS_EXEMPLAR_PREVIEW}") + STATUS + "OTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW: ${OTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW}" +) message( - STATUS "WITH_OTLP_GRPC_SSL_MTLS_PREVIEW: ${WITH_OTLP_GRPC_SSL_MTLS_PREVIEW}") + STATUS + "OTELCPP_WITH_OTLP_GRPC_SSL_MTLS_PREVIEW: ${OTELCPP_WITH_OTLP_GRPC_SSL_MTLS_PREVIEW}" +) message( STATUS - "WITH_OTLP_GRPC_CREDENTIAL_PREVIEW: ${WITH_OTLP_GRPC_CREDENTIAL_PREVIEW}") -message(STATUS "WITH_OTLP_RETRY_PREVIEW: ${WITH_OTLP_RETRY_PREVIEW}") + "OTELCPP_WITH_OTLP_GRPC_CREDENTIAL_PREVIEW: ${OTELCPP_WITH_OTLP_GRPC_CREDENTIAL_PREVIEW}" +) +message( + STATUS "OTELCPP_WITH_OTLP_RETRY_PREVIEW: ${OTELCPP_WITH_OTLP_RETRY_PREVIEW}") message( STATUS - "WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW: ${WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW}" + "OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW: ${OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW}" ) message(STATUS "---------------------------------------------") message(STATUS "third-party options") message(STATUS "---------------------------------------------") message(STATUS "WITH_NLOHMANN_JSON: ${USE_NLOHMANN_JSON}") -message(STATUS "WITH_CURL_LOGGING: ${WITH_CURL_LOGGING}") -message(STATUS "WITH_OTLP_HTTP_COMPRESSION: ${WITH_OTLP_HTTP_COMPRESSION}") +message(STATUS "OTELCPP_WITH_CURL_LOGGING: ${OTELCPP_WITH_CURL_LOGGING}") +message( + STATUS + "OTELCPP_WITH_OTLP_HTTP_COMPRESSION: ${OTELCPP_WITH_OTLP_HTTP_COMPRESSION}") message(STATUS "---------------------------------------------") message(STATUS "examples and test options") message(STATUS "---------------------------------------------") -message(STATUS "WITH_BENCHMARK: ${WITH_BENCHMARK}") -message(STATUS "WITH_EXAMPLES: ${WITH_EXAMPLES}") -message(STATUS "WITH_EXAMPLES_HTTP: ${WITH_EXAMPLES_HTTP}") -message(STATUS "WITH_FUNC_TESTS: ${WITH_FUNC_TESTS}") -message(STATUS "BUILD_W3CTRACECONTEXT_TEST: ${BUILD_W3CTRACECONTEXT_TEST}") -message(STATUS "BUILD_TESTING: ${BUILD_TESTING}") +message(STATUS "OTELCPP_WITH_BENCHMARK: ${OTELCPP_WITH_BENCHMARK}") +message(STATUS "OTELCPP_WITH_EXAMPLES: ${OTELCPP_WITH_EXAMPLES}") +message(STATUS "OTELCPP_WITH_EXAMPLES_HTTP: ${OTELCPP_WITH_EXAMPLES_HTTP}") +message(STATUS "OTELCPP_WITH_FUNC_TESTS: ${OTELCPP_WITH_FUNC_TESTS}") +message( + STATUS + "OTELCPP_BUILD_W3CTRACECONTEXT_TEST: ${OTELCPP_BUILD_W3CTRACECONTEXT_TEST}") +message(STATUS "OTELCPP_BUILD_TESTING: ${OTELCPP_BUILD_TESTING}") message(STATUS "---------------------------------------------") message(STATUS "versions") message(STATUS "---------------------------------------------") message(STATUS "CMake: ${CMAKE_VERSION}") message(STATUS "GTest: ${GTest_VERSION} (${GTest_PROVIDER})") message(STATUS "benchmark: ${benchmark_VERSION} (${benchmark_PROVIDER})") -if(WITH_GSL) +if(OTELCPP_WITH_GSL) message( STATUS "Microsoft.GSL: ${Microsoft.GSL_VERSION} (${Microsoft.GSL_PROVIDER})" ) @@ -631,12 +704,12 @@ if(USE_NLOHMANN_JSON) STATUS "nlohmann-json: ${nlohmann_json_VERSION} (${nlohmann_json_PROVIDER})" ) endif() -if(WITH_PROMETHEUS) +if(OTELCPP_WITH_PROMETHEUS) message( STATUS "prometheus-cpp: ${prometheus-cpp_VERSION} (${prometheus-cpp_PROVIDER})") endif() -if(WITH_OPENTRACING) +if(OTELCPP_WITH_OPENTRACING) message( STATUS "opentracing-cpp: ${OpenTracing_VERSION} (${OpenTracing_PROVIDER})") endif() @@ -649,14 +722,14 @@ include("${opentelemetry-cpp_SOURCE_DIR}/cmake/otel-install-functions.cmake") include(CMakePackageConfigHelpers) -if(DEFINED OPENTELEMETRY_BUILD_DLL) +if(OTELCPP_BUILD_DLL) if(NOT WIN32) message(FATAL_ERROR "Build DLL is only supported on Windows!") endif() if(NOT MSVC) message(WARNING "Build DLL is supposed to work with MSVC!") endif() - if(WITH_STL) + if(OTELCPP_WITH_STL) message( WARNING "Build DLL with C++ STL could cause binary incompatibility!") endif() @@ -665,27 +738,25 @@ endif() add_subdirectory(api) -if(NOT WITH_API_ONLY) - if(WITH_OPENTRACING) +if(NOT OTELCPP_WITH_API_ONLY) + if(OTELCPP_WITH_OPENTRACING) add_subdirectory(opentracing-shim) endif() - set(BUILD_TESTING ${BUILD_TESTING}) - add_subdirectory(sdk) add_subdirectory(ext) add_subdirectory(exporters) - if(WITH_RESOURCE_DETECTORS_PREVIEW) + if(OTELCPP_WITH_RESOURCE_DETECTORS_PREVIEW) add_subdirectory(resource_detectors) endif() - if(BUILD_TESTING) + if(OTELCPP_BUILD_TESTING) add_subdirectory(test_common) endif() - if(WITH_EXAMPLES) + if(OTELCPP_WITH_EXAMPLES) add_subdirectory(examples) endif() - if(WITH_FUNC_TESTS) + if(OTELCPP_WITH_FUNC_TESTS) add_subdirectory(functional) endif() @@ -696,7 +767,7 @@ endif() include("${opentelemetry-cpp_SOURCE_DIR}/cmake/patch-imported-config.cmake") -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) # Install the cmake config and version files otel_install_cmake_config() @@ -706,7 +777,7 @@ if(OPENTELEMETRY_INSTALL) # Install the thirdparty dependency definition file otel_install_thirdparty_definitions() - if(BUILD_PACKAGE) + if(OTELCPP_BUILD_PACKAGE) include("${opentelemetry-cpp_SOURCE_DIR}/cmake/package.cmake") include(CPack) endif() diff --git a/CMakeSettings.json b/CMakeSettings.json index 02d068a3a1..b147b041c5 100644 --- a/CMakeSettings.json +++ b/CMakeSettings.json @@ -14,12 +14,12 @@ "ctestCommandArgs": "", "variables": [ { - "name": "WITH_OTLP_GRPC", + "name": "OTELCPP_WITH_OTLP_GRPC", "value": "True", "type": "BOOL" }, { - "name": "WITH_EXAMPLES", + "name": "OTELCPP_WITH_EXAMPLES", "value": "true", "type": "BOOL" } @@ -40,12 +40,12 @@ "cmakeToolchain": "", "variables": [ { - "name": "WITH_OTLP_GRPC", + "name": "OTELCPP_WITH_OTLP_GRPC", "value": "True", "type": "BOOL" }, { - "name": "WITH_EXAMPLES", + "name": "OTELCPP_WITH_EXAMPLES", "value": "true", "type": "BOOL" } @@ -65,22 +65,22 @@ "ctestCommandArgs": "", "variables": [ { - "name": "WITH_STL", + "name": "OTELCPP_WITH_STL", "value": "True", "type": "BOOL" }, { - "name": "WITH_OTLP_GRPC", + "name": "OTELCPP_WITH_OTLP_GRPC", "value": "True", "type": "BOOL" }, { - "name": "WITH_EXAMPLES", + "name": "OTELCPP_WITH_EXAMPLES", "value": "true", "type": "BOOL" }, { - "name": "WITH_PROMETHEUS", + "name": "OTELCPP_WITH_PROMETHEUS", "value": "True", "type": "BOOL" } @@ -101,22 +101,22 @@ "cmakeToolchain": "", "variables": [ { - "name": "WITH_STL", + "name": "OTELCPP_WITH_STL", "value": "True", "type": "BOOL" }, { - "name": "WITH_OTLP_GRPC", + "name": "OTELCPP_WITH_OTLP_GRPC", "value": "True", "type": "BOOL" }, { - "name": "WITH_EXAMPLES", + "name": "OTELCPP_WITH_EXAMPLES", "value": "true", "type": "BOOL" }, { - "name": "WITH_PROMETHEUS", + "name": "OTELCPP_WITH_PROMETHEUS", "value": "True", "type": "BOOL" } diff --git a/INSTALL.md b/INSTALL.md index 25564665ca..b9878c824d 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -104,10 +104,10 @@ If building and installing Protobuf and gRPC manually with cmake the - `-DBUILD_SHARED_LIBS=ON` : To build shared libraries for the targets. Please refer to note [below](#building-shared-libs-for-windows) for Windows DLL support. - - `-DWITH_OTLP_GRPC=ON` : To enable building OTLP GRPC exporter. - - `-DWITH_OTLP_HTTP=ON` : To enable building OTLP HTTP exporter. - - `-DWITH_PROMETHEUS=ON` : To enable building prometheus exporter. - - `-DOPENTELEMETRY_INSTALL=ON`: To install `otel-cpp` library needed + - `-DOTELCPP_WITH_OTLP_GRPC=ON` : To enable building OTLP GRPC exporter. + - `-DOTELCPP_WITH_OTLP_HTTP=ON` : To enable building OTLP HTTP exporter. + - `-DOTELCPP_WITH_PROMETHEUS=ON` : To enable building prometheus exporter. + - `-DOTELCPP_INSTALL=ON`: To install `otel-cpp` library needed for external code linking. 3. Once the build configuration is created, build the CMake targets - this @@ -376,12 +376,12 @@ and user may have to customize it further before using it as distribution. - Windows : NuGet, zip This requires platform specific package generators already installed. The package -generation can subsequently be enabled by using BUILD_PACKAGE option during cmake -configuration +generation can subsequently be enabled by using OTELCPP_BUILD_PACKAGE option +during cmake configuration ```console $ cd opentelemetry-cpp - $ mkdir build && cd build && cmake -DBUILD_PACKAGE=ON .. + $ mkdir build && cd build && cmake -DOTELCPP_BUILD_PACKAGE=ON .. -- Package name: opentelemetry-cpp-1.8.1-ubuntu-20.04-x86_64.deb -- Configuring done diff --git a/api/CMakeLists.txt b/api/CMakeLists.txt index 7e3ffd4f7f..598a354927 100644 --- a/api/CMakeLists.txt +++ b/api/CMakeLists.txt @@ -11,69 +11,70 @@ set_target_properties(opentelemetry_api PROPERTIES EXPORT_NAME api) unset(TARGET_DEPS) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_subdirectory(test) endif() -if(WITH_NO_DEPRECATED_CODE) +if(OTELCPP_WITH_NO_DEPRECATED_CODE) target_compile_definitions(opentelemetry_api INTERFACE OPENTELEMETRY_NO_DEPRECATED_CODE) endif() -if(WITH_STL STREQUAL "OFF") - message(STATUS "Building WITH_STL=OFF") -elseif(WITH_STL STREQUAL "CXX11") - message(STATUS "Building WITH_STL=CXX11") +if(OTELCPP_WITH_STL STREQUAL "OFF") + message(STATUS "Building OTELCPP_WITH_STL=OFF") +elseif(OTELCPP_WITH_STL STREQUAL "CXX11") + message(STATUS "Building OTELCPP_WITH_STL=CXX11") target_compile_definitions(opentelemetry_api INTERFACE OPENTELEMETRY_STL_VERSION=2011) -elseif(WITH_STL STREQUAL "CXX14") - message(STATUS "Building WITH_STL=CXX14") +elseif(OTELCPP_WITH_STL STREQUAL "CXX14") + message(STATUS "Building OTELCPP_WITH_STL=CXX14") target_compile_definitions(opentelemetry_api INTERFACE OPENTELEMETRY_STL_VERSION=2014) -elseif(WITH_STL STREQUAL "CXX17") - message(STATUS "Building WITH_STL=CXX17") +elseif(OTELCPP_WITH_STL STREQUAL "CXX17") + message(STATUS "Building OTELCPP_WITH_STL=CXX17") target_compile_definitions(opentelemetry_api INTERFACE OPENTELEMETRY_STL_VERSION=2017) -elseif(WITH_STL STREQUAL "CXX20") - message(STATUS "Building WITH_STL=CXX20") +elseif(OTELCPP_WITH_STL STREQUAL "CXX20") + message(STATUS "Building OTELCPP_WITH_STL=CXX20") target_compile_definitions(opentelemetry_api INTERFACE OPENTELEMETRY_STL_VERSION=2020) -elseif(WITH_STL STREQUAL "CXX23") - message(STATUS "Building WITH_STL=CXX23") +elseif(OTELCPP_WITH_STL STREQUAL "CXX23") + message(STATUS "Building OTELCPP_WITH_STL=CXX23") target_compile_definitions(opentelemetry_api INTERFACE OPENTELEMETRY_STL_VERSION=2023) -elseif(WITH_STL STREQUAL "CXX26") - message(STATUS "Building WITH_STL=CXX26") +elseif(OTELCPP_WITH_STL STREQUAL "CXX26") + message(STATUS "Building OTELCPP_WITH_STL=CXX26") target_compile_definitions(opentelemetry_api INTERFACE OPENTELEMETRY_STL_VERSION=2026) -elseif(WITH_STL STREQUAL "ON") - message(STATUS "Building WITH_STL=ON") +elseif(OTELCPP_WITH_STL STREQUAL "ON") + message(STATUS "Building OTELCPP_WITH_STL=ON") # "ON" corresponds to "CXX23" at this time. target_compile_definitions(opentelemetry_api INTERFACE OPENTELEMETRY_STL_VERSION=2023) else() message( FATAL_ERROR - "WITH_STL must be ON, OFF, CXX11, CXX14, CXX17, CXX20, CXX23 or CXX26") + "OTELCPP_WITH_STL must be ON, OFF, CXX11, CXX14, CXX17, CXX20, CXX23 or CXX26" + ) endif() -if(WITH_GSL) +if(OTELCPP_WITH_GSL) target_compile_definitions(opentelemetry_api INTERFACE HAVE_GSL) target_link_libraries(opentelemetry_api INTERFACE Microsoft.GSL::GSL) list(APPEND TARGET_DEPS "gsl") endif() -if(WITH_NO_GETENV) +if(OTELCPP_WITH_NO_GETENV) target_compile_definitions(opentelemetry_api INTERFACE NO_GETENV) endif() if(WIN32) - if(WITH_ETW) + if(OTELCPP_WITH_ETW) target_compile_definitions(opentelemetry_api INTERFACE HAVE_MSGPACK) endif() endif() -if(WITH_ASYNC_EXPORT_PREVIEW) +if(OTELCPP_WITH_ASYNC_EXPORT_PREVIEW) target_compile_definitions(opentelemetry_api INTERFACE ENABLE_ASYNC_EXPORT) endif() @@ -81,41 +82,41 @@ target_compile_definitions( opentelemetry_api INTERFACE OPENTELEMETRY_ABI_VERSION_NO=${OPENTELEMETRY_ABI_VERSION_NO}) -if(WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW) +if(OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW) target_compile_definitions(opentelemetry_api INTERFACE ENABLE_METRICS_BOUND_INSTRUMENTS_PREVIEW) endif() -if(WITH_OTLP_RETRY_PREVIEW) +if(OTELCPP_WITH_OTLP_RETRY_PREVIEW) target_compile_definitions(opentelemetry_api INTERFACE ENABLE_OTLP_RETRY_PREVIEW) else() - message(WARNING "WITH_OTLP_RETRY_PREVIEW=OFF is deprecated") + message(WARNING "OTELCPP_WITH_OTLP_RETRY_PREVIEW=OFF is deprecated") endif() -if(WITH_OTLP_GRPC_SSL_MTLS_PREVIEW) +if(OTELCPP_WITH_OTLP_GRPC_SSL_MTLS_PREVIEW) target_compile_definitions(opentelemetry_api INTERFACE ENABLE_OTLP_GRPC_SSL_MTLS_PREVIEW) else() - message(WARNING "WITH_OTLP_GRPC_SSL_MTLS_PREVIEW=OFF is deprecated") + message(WARNING "OTELCPP_WITH_OTLP_GRPC_SSL_MTLS_PREVIEW=OFF is deprecated") endif() -if(WITH_OTLP_GRPC_CREDENTIAL_PREVIEW) +if(OTELCPP_WITH_OTLP_GRPC_CREDENTIAL_PREVIEW) target_compile_definitions(opentelemetry_api INTERFACE ENABLE_OTLP_GRPC_CREDENTIAL_PREVIEW) endif() -if(WITH_METRICS_EXEMPLAR_PREVIEW) +if(OTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW) target_compile_definitions(opentelemetry_api INTERFACE ENABLE_METRICS_EXEMPLAR_PREVIEW) endif() -if(WITH_THREAD_INSTRUMENTATION_PREVIEW) +if(OTELCPP_WITH_THREAD_INSTRUMENTATION_PREVIEW) target_compile_definitions(opentelemetry_api INTERFACE ENABLE_THREAD_INSTRUMENTATION_PREVIEW) endif() -if(WITH_OTLP_HTTP_COMPRESSION) +if(OTELCPP_WITH_OTLP_HTTP_COMPRESSION) target_compile_definitions(opentelemetry_api INTERFACE ENABLE_OTLP_COMPRESSION_PREVIEW) endif() @@ -139,7 +140,7 @@ otel_add_component( include(${PROJECT_SOURCE_DIR}/cmake/pkgconfig.cmake) -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( api "OpenTelemetry API" "A header-only library to support instrumentation with OpenTelemetry." diff --git a/api/test/CMakeLists.txt b/api/test/CMakeLists.txt index 7d7c33a435..13a77f7d70 100644 --- a/api/test/CMakeLists.txt +++ b/api/test/CMakeLists.txt @@ -11,6 +11,6 @@ add_subdirectory(logs) add_subdirectory(common) add_subdirectory(baggage) -if(NOT OPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS) +if(NOT OTELCPP_SKIP_DYNAMIC_LOADING_TESTS) add_subdirectory(singleton) endif() diff --git a/api/test/baggage/CMakeLists.txt b/api/test/baggage/CMakeLists.txt index 0b0fee52ac..fdcfb3e118 100644 --- a/api/test/baggage/CMakeLists.txt +++ b/api/test/baggage/CMakeLists.txt @@ -13,7 +13,7 @@ foreach(testname baggage_test) TEST_LIST ${testname}) endforeach() -if(WITH_BENCHMARK) +if(OTELCPP_WITH_BENCHMARK) add_executable(baggage_benchmark baggage_benchmark.cc) target_link_libraries(baggage_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) diff --git a/api/test/common/CMakeLists.txt b/api/test/common/CMakeLists.txt index 8d77dcdfab..58cf328218 100644 --- a/api/test/common/CMakeLists.txt +++ b/api/test/common/CMakeLists.txt @@ -13,7 +13,7 @@ foreach(testname kv_properties_test string_util_test) TEST_LIST ${testname}) endforeach() -if(WITH_BENCHMARK) +if(OTELCPP_WITH_BENCHMARK) add_executable(spinlock_benchmark spinlock_benchmark.cc) target_link_libraries(spinlock_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) diff --git a/api/test/logs/CMakeLists.txt b/api/test/logs/CMakeLists.txt index 3d12782746..d8b440e789 100644 --- a/api/test/logs/CMakeLists.txt +++ b/api/test/logs/CMakeLists.txt @@ -11,7 +11,7 @@ foreach(testname provider_test logger_test) TEST_LIST logs_api_${testname}) endforeach() -if(WITH_BENCHMARK) +if(OTELCPP_WITH_BENCHMARK) add_executable(logger_benchmark logger_benchmark.cc) target_link_libraries(logger_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) diff --git a/api/test/trace/CMakeLists.txt b/api/test/trace/CMakeLists.txt index f13e4a342e..b12f4c5629 100644 --- a/api/test/trace/CMakeLists.txt +++ b/api/test/trace/CMakeLists.txt @@ -25,7 +25,7 @@ foreach( TEST_LIST api_${testname}) endforeach() -if(WITH_BENCHMARK) +if(OTELCPP_WITH_BENCHMARK) add_executable(span_id_benchmark span_id_benchmark.cc) target_link_libraries(span_id_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) diff --git a/ci/README.md b/ci/README.md index 3e3cc0c567..f16178f3e3 100644 --- a/ci/README.md +++ b/ci/README.md @@ -92,14 +92,14 @@ build all CMake components with preview options enabled. These tests build the core API and SDK components in maintainer mode. -* `cmake.c++14.test`: C++14, WITH_STL=OFF -* `cmake.c++17.test`: C++17, WITH_STL=OFF -* `cmake.c++20.test`: C++20, WITH_STL=OFF -* `cmake.c++23.test`: C++23, WITH_STL=OFF -* `cmake.c++14.stl.test`: C++14, WITH_STL=CXX14 -* `cmake.c++17.stl.test`: C++17, WITH_STL=CXX17 -* `cmake.c++20.stl.test`: C++20, WITH_STL=CXX20 -* `cmake.c++23.stl.test`: C++23, WITH_STL=CXX23 +* `cmake.c++14.test`: C++14, OTELCPP_WITH_STL=OFF +* `cmake.c++17.test`: C++17, OTELCPP_WITH_STL=OFF +* `cmake.c++20.test`: C++20, OTELCPP_WITH_STL=OFF +* `cmake.c++23.test`: C++23, OTELCPP_WITH_STL=OFF +* `cmake.c++14.stl.test`: C++14, OTELCPP_WITH_STL=CXX14 +* `cmake.c++17.stl.test`: C++17, OTELCPP_WITH_STL=CXX17 +* `cmake.c++20.stl.test`: C++20, OTELCPP_WITH_STL=CXX20 +* `cmake.c++23.stl.test`: C++23, OTELCPP_WITH_STL=CXX23 ### CMake feature and packaging tests diff --git a/ci/do_ci.ps1 b/ci/do_ci.ps1 index eb71804511..88c47247a3 100644 --- a/ci/do_ci.ps1 +++ b/ci/do_ci.ps1 @@ -95,7 +95,7 @@ switch ($action) { cd "$BUILD_DIR" cmake $SRC_DIR ` -DVCPKG_TARGET_TRIPLET=x64-windows ` - -DOPENTELEMETRY_BUILD_DLL=1 ` + -DOTELCPP_BUILD_DLL=1 ` "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" $exit = $LASTEXITCODE if ($exit -ne 0) { @@ -118,7 +118,7 @@ switch ($action) { cmake $SRC_DIR ` -DCMAKE_CXX_STANDARD=20 ` -DVCPKG_TARGET_TRIPLET=x64-windows ` - -DOPENTELEMETRY_BUILD_DLL=1 ` + -DOTELCPP_BUILD_DLL=1 ` "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" $exit = $LASTEXITCODE if ($exit -ne 0) { @@ -140,9 +140,9 @@ switch ($action) { cd "$BUILD_DIR" cmake $SRC_DIR ` "-C $SRC_DIR/test_common/cmake/all-options-abiv1-preview.cmake" ` - -DWITH_OPENTRACING=OFF ` + -DOTELCPP_WITH_OPENTRACING=OFF ` -DOTELCPP_MAINTAINER_MODE=ON ` - -DWITH_NO_DEPRECATED_CODE=ON ` + -DOTELCPP_WITH_NO_DEPRECATED_CODE=ON ` -DVCPKG_TARGET_TRIPLET=x64-windows ` "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" $exit = $LASTEXITCODE @@ -168,11 +168,11 @@ switch ($action) { cd "$BUILD_DIR" cmake $SRC_DIR ` "-C $SRC_DIR/test_common/cmake/all-options-abiv1-preview.cmake" ` - -DWITH_OPENTRACING=OFF ` - -DWITH_STL=CXX20 ` + -DOTELCPP_WITH_OPENTRACING=OFF ` + -DOTELCPP_WITH_STL=CXX20 ` -DCMAKE_CXX_STANDARD=20 ` -DOTELCPP_MAINTAINER_MODE=ON ` - -DWITH_NO_DEPRECATED_CODE=ON ` + -DOTELCPP_WITH_NO_DEPRECATED_CODE=ON ` -DVCPKG_TARGET_TRIPLET=x64-windows ` "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" $exit = $LASTEXITCODE @@ -198,9 +198,9 @@ switch ($action) { cd "$BUILD_DIR" cmake $SRC_DIR ` "-C $SRC_DIR/test_common/cmake/all-options-abiv2-preview.cmake" ` - -DWITH_OPENTRACING=OFF ` + -DOTELCPP_WITH_OPENTRACING=OFF ` -DOTELCPP_MAINTAINER_MODE=ON ` - -DWITH_NO_DEPRECATED_CODE=ON ` + -DOTELCPP_WITH_NO_DEPRECATED_CODE=ON ` -DVCPKG_TARGET_TRIPLET=x64-windows ` "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" $exit = $LASTEXITCODE @@ -226,7 +226,7 @@ switch ($action) { cd "$BUILD_DIR" cmake $SRC_DIR ` -DVCPKG_TARGET_TRIPLET=x64-windows ` - -DWITH_ASYNC_EXPORT_PREVIEW=ON ` + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON ` "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" $exit = $LASTEXITCODE if ($exit -ne 0) { @@ -251,7 +251,7 @@ switch ($action) { cd "$BUILD_DIR" cmake $SRC_DIR ` "-C $SRC_DIR/test_common/cmake/all-options-abiv1-preview.cmake" ` - -DWITH_OPENTRACING=OFF ` + -DOTELCPP_WITH_OPENTRACING=OFF ` -DVCPKG_TARGET_TRIPLET=x64-windows ` "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" $exit = $LASTEXITCODE @@ -277,8 +277,9 @@ switch ($action) { cd "$BUILD_DIR" cmake $SRC_DIR ` -DVCPKG_TARGET_TRIPLET=x64-windows ` - -DOPENTELEMETRY_BUILD_DLL=1 ` - -DWITH_OTPROTCOL=ON ` + -DOTELCPP_BUILD_DLL=1 ` + -DOTELCPP_WITH_OTLP_GRPC=ON ` + -DOTELCPP_WITH_OTLP_HTTP=ON ` "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" $exit = $LASTEXITCODE if ($exit -ne 0) { @@ -300,9 +301,9 @@ switch ($action) { cd "$BUILD_DIR" cmake $SRC_DIR ` "-C $SRC_DIR/test_common/cmake/all-options-abiv1-preview.cmake" ` - -DWITH_OPENTRACING=OFF ` + -DOTELCPP_WITH_OPENTRACING=OFF ` -DVCPKG_TARGET_TRIPLET=x64-windows ` - -DWITH_ASYNC_EXPORT_PREVIEW=ON ` + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON ` "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" $exit = $LASTEXITCODE if ($exit -ne 0) { @@ -327,7 +328,7 @@ switch ($action) { cd "$BUILD_DIR" cmake $SRC_DIR ` -DVCPKG_TARGET_TRIPLET=x64-windows ` - -DWITH_ASYNC_EXPORT_PREVIEW=ON ` + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON ` "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" $exit = $LASTEXITCODE if ($exit -ne 0) { @@ -344,7 +345,7 @@ switch ($action) { cd "$BUILD_DIR" cmake $SRC_DIR ` -DVCPKG_TARGET_TRIPLET=x64-windows ` - -DWITH_ASYNC_EXPORT_PREVIEW=ON ` + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON ` "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" $exit = $LASTEXITCODE if ($exit -ne 0) { @@ -391,9 +392,9 @@ switch ($action) { $CMAKE_OPTIONS ` "-DCMAKE_INSTALL_PREFIX=$INSTALL_TEST_DIR" ` "-C $SRC_DIR/test_common/cmake/all-options-abiv2-preview.cmake" ` - -DWITH_OPENTRACING=OFF ` - -DWITH_GSL=ON ` - -DOPENTELEMETRY_INSTALL=ON + -DOTELCPP_WITH_OPENTRACING=OFF ` + -DOTELCPP_WITH_GSL=ON ` + -DOTELCPP_INSTALL=ON $exit = $LASTEXITCODE if ($exit -ne 0) { @@ -481,29 +482,29 @@ switch ($action) { "-DCMAKE_CXX_STANDARD=17", "-DVCPKG_TARGET_TRIPLET=x64-windows", "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake", - "-DOPENTELEMETRY_BUILD_DLL=1" + "-DOTELCPP_BUILD_DLL=1" ) cmake $SRC_DIR ` $CMAKE_OPTIONS ` "-DCMAKE_INSTALL_PREFIX=$INSTALL_TEST_DIR" ` "-C $SRC_DIR/test_common/cmake/all-options-abiv1-preview.cmake" ` - -DOPENTELEMETRY_INSTALL=ON ` - -DWITH_CONFIGURATION=OFF ` - -DWITH_OPENTRACING=OFF ` - -DWITH_OTLP_GRPC_SSL_MTLS_PREVIEW=OFF ` - -DWITH_OTLP_GRPC_CREDENTIAL_PREVIEW=OFF ` - -DWITH_OTLP_RETRY_PREVIEW=OFF ` - -DWITH_OTLP_GRPC=OFF ` - -DWITH_OTLP_HTTP=OFF ` - -DWITH_OTLP_FILE=OFF ` - -DWITH_OTLP_HTTP_COMPRESSION=OFF ` - -DWITH_HTTP_CLIENT_CURL=OFF ` - -DWITH_PROMETHEUS=OFF ` - -DWITH_ZIPKIN=OFF ` - -DWITH_ELASTICSEARCH=OFF ` - -DWITH_EXAMPLES=OFF ` - -DWITH_EXAMPLES_HTTP=OFF + -DOTELCPP_INSTALL=ON ` + -DOTELCPP_WITH_CONFIGURATION=OFF ` + -DOTELCPP_WITH_OPENTRACING=OFF ` + -DOTELCPP_WITH_OTLP_GRPC_SSL_MTLS_PREVIEW=OFF ` + -DOTELCPP_WITH_OTLP_GRPC_CREDENTIAL_PREVIEW=OFF ` + -DOTELCPP_WITH_OTLP_RETRY_PREVIEW=OFF ` + -DOTELCPP_WITH_OTLP_GRPC=OFF ` + -DOTELCPP_WITH_OTLP_HTTP=OFF ` + -DOTELCPP_WITH_OTLP_FILE=OFF ` + -DOTELCPP_WITH_OTLP_HTTP_COMPRESSION=OFF ` + -DOTELCPP_WITH_HTTP_CLIENT_CURL=OFF ` + -DOTELCPP_WITH_PROMETHEUS=OFF ` + -DOTELCPP_WITH_ZIPKIN=OFF ` + -DOTELCPP_WITH_ELASTICSEARCH=OFF ` + -DOTELCPP_WITH_EXAMPLES=OFF ` + -DOTELCPP_WITH_EXAMPLES_HTTP=OFF $exit = $LASTEXITCODE if ($exit -ne 0) { diff --git a/ci/do_ci.sh b/ci/do_ci.sh index cc825c37f1..50329e8016 100755 --- a/ci/do_ci.sh +++ b/ci/do_ci.sh @@ -114,10 +114,10 @@ if [[ "$1" == "cmake.test" ]]; then cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DWITH_PROMETHEUS=ON \ - -DWITH_ZIPKIN=ON \ - -DWITH_ELASTICSEARCH=ON \ - -DWITH_METRICS_EXEMPLAR_PREVIEW=ON \ + -DOTELCPP_WITH_PROMETHEUS=ON \ + -DOTELCPP_WITH_ZIPKIN=ON \ + -DOTELCPP_WITH_ELASTICSEARCH=ON \ + -DOTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW=ON \ -DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS" \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" @@ -128,10 +128,10 @@ elif [[ "$1" == "cmake.maintainer.sync.test" ]]; then rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ -C ${SRC_DIR}/test_common/cmake/all-options-abiv1-preview.cmake \ - -DWITH_OPENTRACING=OFF \ - -DWITH_ASYNC_EXPORT_PREVIEW=OFF \ + -DOTELCPP_WITH_OPENTRACING=OFF \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=OFF \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_NO_DEPRECATED_CODE=ON \ + -DOTELCPP_WITH_NO_DEPRECATED_CODE=ON \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -141,9 +141,9 @@ elif [[ "$1" == "cmake.maintainer.async.test" ]]; then rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ -C ${SRC_DIR}/test_common/cmake/all-options-abiv1-preview.cmake \ - -DWITH_OPENTRACING=OFF \ + -DOTELCPP_WITH_OPENTRACING=OFF \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_NO_DEPRECATED_CODE=ON \ + -DOTELCPP_WITH_NO_DEPRECATED_CODE=ON \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -153,10 +153,10 @@ elif [[ "$1" == "cmake.maintainer.abiv2.test" ]]; then rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ -C ${SRC_DIR}/test_common/cmake/all-options-abiv2-preview.cmake \ - -DWITH_OPENTRACING=OFF \ - -DWITH_ASYNC_EXPORT_PREVIEW=OFF \ + -DOTELCPP_WITH_OPENTRACING=OFF \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=OFF \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_NO_DEPRECATED_CODE=ON \ + -DOTELCPP_WITH_NO_DEPRECATED_CODE=ON \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -165,23 +165,23 @@ elif [[ "$1" == "cmake.maintainer.yaml.test" ]]; then cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DWITH_OTLP_HTTP=ON \ - -DWITH_OTLP_GRPC=ON \ - -DWITH_OTLP_FILE=ON \ - -DWITH_PROMETHEUS=ON \ - -DWITH_EXAMPLES=ON \ - -DWITH_EXAMPLES_HTTP=ON \ - -DWITH_ZIPKIN=ON \ - -DBUILD_W3CTRACECONTEXT_TEST=ON \ - -DWITH_ELASTICSEARCH=ON \ - -DWITH_METRICS_EXEMPLAR_PREVIEW=ON \ - -DWITH_ASYNC_EXPORT_PREVIEW=OFF \ + -DOTELCPP_WITH_OTLP_HTTP=ON \ + -DOTELCPP_WITH_OTLP_GRPC=ON \ + -DOTELCPP_WITH_OTLP_FILE=ON \ + -DOTELCPP_WITH_PROMETHEUS=ON \ + -DOTELCPP_WITH_EXAMPLES=ON \ + -DOTELCPP_WITH_EXAMPLES_HTTP=ON \ + -DOTELCPP_WITH_ZIPKIN=ON \ + -DOTELCPP_BUILD_W3CTRACECONTEXT_TEST=ON \ + -DOTELCPP_WITH_ELASTICSEARCH=ON \ + -DOTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW=ON \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=OFF \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_NO_DEPRECATED_CODE=ON \ - -DWITH_OTLP_HTTP_COMPRESSION=ON \ - -DWITH_OTLP_RETRY_PREVIEW=ON \ - -DWITH_THREAD_INSTRUMENTATION_PREVIEW=ON \ - -DWITH_CONFIGURATION=ON \ + -DOTELCPP_WITH_NO_DEPRECATED_CODE=ON \ + -DOTELCPP_WITH_OTLP_HTTP_COMPRESSION=ON \ + -DOTELCPP_WITH_OTLP_RETRY_PREVIEW=ON \ + -DOTELCPP_WITH_THREAD_INSTRUMENTATION_PREVIEW=ON \ + -DOTELCPP_WITH_CONFIGURATION=ON \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -190,12 +190,12 @@ elif [[ "$1" == "cmake.with_async_export.test" ]]; then cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DWITH_PROMETHEUS=ON \ - -DWITH_ZIPKIN=ON \ - -DWITH_ELASTICSEARCH=ON \ - -DWITH_METRICS_EXEMPLAR_PREVIEW=ON \ + -DOTELCPP_WITH_PROMETHEUS=ON \ + -DOTELCPP_WITH_ZIPKIN=ON \ + -DOTELCPP_WITH_ELASTICSEARCH=ON \ + -DOTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW=ON \ -DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS" \ - -DWITH_ASYNC_EXPORT_PREVIEW=ON \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -205,7 +205,7 @@ elif [[ "$1" == "cmake.opentracing_shim.test" ]]; then rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ -DCMAKE_CXX_FLAGS="-Werror -Wno-error=redundant-move $CXXFLAGS" \ - -DWITH_OPENTRACING=ON \ + -DOTELCPP_WITH_OPENTRACING=ON \ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" @@ -217,7 +217,7 @@ elif [[ "$1" == "cmake.opentracing_shim.install.test" ]]; then rm -rf ${INSTALL_TEST_DIR}/* cmake "${CMAKE_OPTIONS[@]}" \ -DCMAKE_CXX_FLAGS="-Werror -Wno-error=redundant-move $CXXFLAGS" \ - -DWITH_OPENTRACING=ON \ + -DOTELCPP_WITH_OPENTRACING=ON \ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -DCMAKE_INSTALL_PREFIX=${INSTALL_TEST_DIR} \ "${SRC_DIR}" @@ -250,8 +250,8 @@ elif [[ "$1" == "cmake.opentracing_shim.install.test" ]]; then cmake "${CMAKE_OPTIONS[@]}" \ -DCMAKE_CXX_STANDARD=14 \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_ASYNC_EXPORT_PREVIEW=ON \ - -DWITH_STL=OFF \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON \ + -DOTELCPP_WITH_STL=OFF \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -262,8 +262,8 @@ elif [[ "$1" == "cmake.c++17.test" ]]; then cmake "${CMAKE_OPTIONS[@]}" \ -DCMAKE_CXX_STANDARD=17 \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_ASYNC_EXPORT_PREVIEW=ON \ - -DWITH_STL=OFF \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON \ + -DOTELCPP_WITH_STL=OFF \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -274,8 +274,8 @@ elif [[ "$1" == "cmake.c++20.test" ]]; then cmake "${CMAKE_OPTIONS[@]}" \ -DCMAKE_CXX_STANDARD=20 \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_ASYNC_EXPORT_PREVIEW=ON \ - -DWITH_STL=OFF \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON \ + -DOTELCPP_WITH_STL=OFF \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -286,8 +286,8 @@ elif [[ "$1" == "cmake.c++23.test" ]]; then cmake "${CMAKE_OPTIONS[@]}" \ -DCMAKE_CXX_STANDARD=23 \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_ASYNC_EXPORT_PREVIEW=ON \ - -DWITH_STL=OFF \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON \ + -DOTELCPP_WITH_STL=OFF \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -296,11 +296,11 @@ elif [[ "$1" == "cmake.c++14.stl.test" ]]; then cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DWITH_METRICS_EXEMPLAR_PREVIEW=ON \ + -DOTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW=ON \ -DCMAKE_CXX_STANDARD=14 \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_ASYNC_EXPORT_PREVIEW=ON \ - -DWITH_STL=CXX14 \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON \ + -DOTELCPP_WITH_STL=CXX14 \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -309,11 +309,11 @@ elif [[ "$1" == "cmake.c++17.stl.test" ]]; then cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DWITH_METRICS_EXEMPLAR_PREVIEW=ON \ + -DOTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW=ON \ -DCMAKE_CXX_STANDARD=17 \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_ASYNC_EXPORT_PREVIEW=ON \ - -DWITH_STL=CXX17 \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON \ + -DOTELCPP_WITH_STL=CXX17 \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -322,11 +322,11 @@ elif [[ "$1" == "cmake.c++20.stl.test" ]]; then cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DWITH_METRICS_EXEMPLAR_PREVIEW=ON \ + -DOTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW=ON \ -DCMAKE_CXX_STANDARD=20 \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_ASYNC_EXPORT_PREVIEW=ON \ - -DWITH_STL=CXX20 \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON \ + -DOTELCPP_WITH_STL=CXX20 \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -335,11 +335,11 @@ elif [[ "$1" == "cmake.c++23.stl.test" ]]; then cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DWITH_METRICS_EXEMPLAR_PREVIEW=ON \ + -DOTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW=ON \ -DCMAKE_CXX_STANDARD=23 \ -DOTELCPP_MAINTAINER_MODE=ON \ - -DWITH_ASYNC_EXPORT_PREVIEW=ON \ - -DWITH_STL=CXX23 \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON \ + -DOTELCPP_WITH_STL=CXX23 \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -353,7 +353,7 @@ elif [[ "$1" == "cmake.clang_tidy.test" ]]; then -S ${SRC_DIR} \ -B ${BUILD_DIR} \ -C ${OTELCPP_CMAKE_CACHE_FILE_PATH} \ - -DWITH_OPENTRACING=OFF \ + -DOTELCPP_WITH_OPENTRACING=OFF \ -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ -DCMAKE_CXX_CLANG_TIDY="clang-tidy;--header-filter=.*/opentelemetry-cpp/.*;--exclude-header-filter=.*(internal/absl|third_party|third-party|build.*|/usr|/opt)/.*|.*\.pb\.h;--quiet" @@ -380,7 +380,7 @@ elif [[ "$1" == "cmake.iwyu.test" ]]; then -B "${BUILD_DIR}" \ -C "${OTELCPP_CMAKE_CACHE_FILE_PATH}" \ -DCMAKE_CXX_STANDARD=14 \ - -DWITH_STL=CXX14 \ + -DOTELCPP_WITH_STL=CXX14 \ -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \ -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--mapping_file=${SRC_DIR}/.iwyu.imp;" if command -v ninja >/dev/null 2>&1; then @@ -399,12 +399,12 @@ elif [[ "$1" == "cmake.exporter.otprotocol.test" ]]; then cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DWITH_OTLP_GRPC=ON \ - -DWITH_OTLP_HTTP=ON \ - -DWITH_OTLP_FILE=ON \ - -DWITH_OTLP_GRPC_SSL_MTLS_PREVIEW=ON \ - -DWITH_OTLP_GRPC_CREDENTIAL_PREVIEW=ON \ - -DWITH_OTLP_RETRY_PREVIEW=ON \ + -DOTELCPP_WITH_OTLP_GRPC=ON \ + -DOTELCPP_WITH_OTLP_HTTP=ON \ + -DOTELCPP_WITH_OTLP_FILE=ON \ + -DOTELCPP_WITH_OTLP_GRPC_SSL_MTLS_PREVIEW=ON \ + -DOTELCPP_WITH_OTLP_GRPC_CREDENTIAL_PREVIEW=ON \ + -DOTELCPP_WITH_OTLP_RETRY_PREVIEW=ON \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -413,9 +413,9 @@ elif [[ "$1" == "cmake.exporter.otprotocol.shared_libs.with_static_grpc.test" ]] cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DWITH_OTLP_GRPC=ON \ - -DWITH_OTLP_HTTP=ON \ - -DWITH_OTLP_FILE=ON \ + -DOTELCPP_WITH_OTLP_GRPC=ON \ + -DOTELCPP_WITH_OTLP_HTTP=ON \ + -DOTELCPP_WITH_OTLP_FILE=ON \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ "${SRC_DIR}" @@ -426,10 +426,10 @@ elif [[ "$1" == "cmake.exporter.otprotocol.with_async_export.test" ]]; then cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DWITH_OTLP_GRPC=ON \ - -DWITH_OTLP_HTTP=ON \ - -DWITH_OTLP_FILE=ON \ - -DWITH_ASYNC_EXPORT_PREVIEW=ON \ + -DOTELCPP_WITH_OTLP_GRPC=ON \ + -DOTELCPP_WITH_OTLP_HTTP=ON \ + -DOTELCPP_WITH_OTLP_FILE=ON \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -439,7 +439,7 @@ elif [[ "$1" == "cmake.w3c.trace-context.build-server" ]]; then cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DBUILD_W3CTRACECONTEXT_TEST=ON \ + -DOTELCPP_BUILD_W3CTRACECONTEXT_TEST=ON \ -DCMAKE_CXX_STANDARD=${CXX_STANDARD} \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" @@ -448,11 +448,11 @@ elif [[ "$1" == "cmake.do_not_install.test" ]]; then cd "${BUILD_DIR}" rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ - -DWITH_OTLP_GRPC=ON \ - -DWITH_OTLP_HTTP=ON \ - -DWITH_OTLP_FILE=ON \ - -DWITH_ASYNC_EXPORT_PREVIEW=ON \ - -DOPENTELEMETRY_INSTALL=OFF \ + -DOTELCPP_WITH_OTLP_GRPC=ON \ + -DOTELCPP_WITH_OTLP_HTTP=ON \ + -DOTELCPP_WITH_OTLP_FILE=ON \ + -DOTELCPP_WITH_ASYNC_EXPORT_PREVIEW=ON \ + -DOTELCPP_INSTALL=OFF \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure @@ -474,7 +474,7 @@ elif [[ "$1" == "cmake.install.test" ]]; then cmake "${CMAKE_OPTIONS[@]}" \ -DCMAKE_INSTALL_PREFIX=${INSTALL_TEST_DIR} \ -C ${SRC_DIR}/test_common/cmake/all-options-abiv2-preview.cmake \ - -DOPENTELEMETRY_INSTALL=ON \ + -DOTELCPP_INSTALL=ON \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" @@ -532,7 +532,7 @@ elif [[ "$1" == "cmake.fetch_content.test" ]]; then cmake "${CMAKE_OPTIONS[@]}" \ -DCMAKE_INSTALL_PREFIX=${INSTALL_TEST_DIR} \ -C ${SRC_DIR}/test_common/cmake/all-options-abiv2-preview.cmake \ - -DOPENTELEMETRY_INSTALL=OFF \ + -DOTELCPP_INSTALL=OFF \ -DOPENTELEMETRY_CPP_SRC_DIR="${SRC_DIR}" \ "${SRC_DIR}/install/test/cmake/fetch_content_test" cmake --build . "${CMAKE_BUILD_ARGS[@]}" @@ -543,7 +543,7 @@ elif [[ "$1" == "cmake.api_only.test" ]]; then rm -rf * cmake "${CMAKE_OPTIONS[@]}" \ -C ${SRC_DIR}/test_common/cmake/all-options-abiv1-preview.cmake \ - -DOPENTELEMETRY_INSTALL=OFF \ + -DOTELCPP_INSTALL=OFF \ -DOPENTELEMETRY_CPP_SRC_DIR="${SRC_DIR}" \ "${SRC_DIR}/install/test/cmake/api_only_test" cmake --build . "${CMAKE_BUILD_ARGS[@]}" @@ -663,9 +663,9 @@ elif [[ "$1" == "code.coverage" ]]; then cmake "${CMAKE_OPTIONS[@]}" \ -DCMAKE_CXX_FLAGS="-Werror --coverage -fprofile-update=atomic $CXXFLAGS" \ -C "${SRC_DIR}/test_common/cmake/all-options-abiv2-preview.cmake" \ - -DWITH_EXAMPLES=OFF \ - -DWITH_EXAMPLES_HTTP=OFF \ - -DWITH_BENCHMARK=OFF \ + -DOTELCPP_WITH_EXAMPLES=OFF \ + -DOTELCPP_WITH_EXAMPLES_HTTP=OFF \ + -DOTELCPP_WITH_BENCHMARK=OFF \ "${SRC_DIR}" cmake --build . "${CMAKE_BUILD_ARGS[@]}" diff --git a/cmake/curl.cmake b/cmake/curl.cmake index 994c1fbd2a..813d75e78e 100644 --- a/cmake/curl.cmake +++ b/cmake/curl.cmake @@ -17,7 +17,7 @@ if(NOT CURL_FOUND) ) set(CURL_PROVIDER "fetch_repository") - if(OPENTELEMETRY_INSTALL) + if(OTELCPP_INSTALL) set(_CURL_DISABLE_INSTALL OFF) else() set(_CURL_DISABLE_INSTALL ON) diff --git a/cmake/grpc.cmake b/cmake/grpc.cmake index 3b0cf2af4f..4906fd0668 100644 --- a/cmake/grpc.cmake +++ b/cmake/grpc.cmake @@ -26,8 +26,8 @@ if(NOT gRPC_FOUND) ) set(gRPC_PROVIDER "fetch_repository") - set(gRPC_INSTALL ${OPENTELEMETRY_INSTALL} CACHE BOOL "" FORCE) - set(protobuf_INSTALL ${OPENTELEMETRY_INSTALL} CACHE BOOL "" FORCE) + set(gRPC_INSTALL ${OTELCPP_INSTALL} CACHE BOOL "" FORCE) + set(protobuf_INSTALL ${OTELCPP_INSTALL} CACHE BOOL "" FORCE) set(gRPC_BUILD_TESTS OFF CACHE BOOL "" FORCE) set(gRPC_BUILD_GRPC_CPP_PLUGIN ON CACHE BOOL "" FORCE) set(gRPC_BUILD_GRPC_CSHARP_PLUGIN OFF CACHE BOOL "" FORCE) diff --git a/cmake/ms-gsl.cmake b/cmake/ms-gsl.cmake index 72c157a627..46b0a81143 100644 --- a/cmake/ms-gsl.cmake +++ b/cmake/ms-gsl.cmake @@ -22,7 +22,7 @@ if(NOT Microsoft.GSL_FOUND) endif() set(GSL_TEST OFF CACHE BOOL "" FORCE) - set(GSL_INSTALL ${OPENTELEMETRY_INSTALL} CACHE BOOL "" FORCE) + set(GSL_INSTALL ${OTELCPP_INSTALL} CACHE BOOL "" FORCE) FetchContent_MakeAvailable(gsl) diff --git a/cmake/nlohmann-json.cmake b/cmake/nlohmann-json.cmake index 14e375e9c9..b58dc61dc9 100644 --- a/cmake/nlohmann-json.cmake +++ b/cmake/nlohmann-json.cmake @@ -27,7 +27,7 @@ if(NOT nlohmann_json_FOUND) endif() set(JSON_BuildTests OFF CACHE BOOL "" FORCE) - set(JSON_Install ${OPENTELEMETRY_INSTALL} CACHE BOOL "" FORCE) + set(JSON_Install ${OTELCPP_INSTALL} CACHE BOOL "" FORCE) set(JSON_MultipleHeaders OFF CACHE BOOL "" FORCE) FetchContent_MakeAvailable(nlohmann_json) diff --git a/cmake/opentelemetry-build-external-component.cmake b/cmake/opentelemetry-build-external-component.cmake index 0c4fd39c12..5844864ac0 100644 --- a/cmake/opentelemetry-build-external-component.cmake +++ b/cmake/opentelemetry-build-external-component.cmake @@ -12,16 +12,16 @@ endfunction() # Enable building external components through otel-cpp build # The config options are -# - OPENTELEMETRY_EXTERNAL_COMPONENT_PATH - Setting local paths of the external +# - OTELCPP_EXTERNAL_COMPONENT_PATH - Setting local paths of the external # component. Multiple paths can be set by separating them with semicolons. # Add custom vendor component from local path # CMake option. -if(OPENTELEMETRY_EXTERNAL_COMPONENT_PATH) - message(STATUS "Building external components from local path(s): ${OPENTELEMETRY_EXTERNAL_COMPONENT_PATH}") +if(OTELCPP_EXTERNAL_COMPONENT_PATH) + message(STATUS "Building external components from local path(s): ${OTELCPP_EXTERNAL_COMPONENT_PATH}") # Add custom component path to build tree and consolidate binary artifacts in # current project binary output directory. - foreach(DIR IN LISTS OPENTELEMETRY_EXTERNAL_COMPONENT_PATH) + foreach(DIR IN LISTS OTELCPP_EXTERNAL_COMPONENT_PATH) get_directory_name_in_path(${DIR} EXTERNAL_EXPORTER_DIR_NAME) add_subdirectory(${DIR} ${PROJECT_BINARY_DIR}/external/${EXTERNAL_EXPORTER_DIR_NAME}) endforeach() diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake index 4c512071e9..a2aad50e17 100644 --- a/cmake/opentelemetry-proto.cmake +++ b/cmake/opentelemetry-proto.cmake @@ -124,7 +124,7 @@ set(PROFILES_SERVICE_PB_CPP_FILE "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/collector/profiles/v1development/profiles_service.pb.cc" ) -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) set(PROFILES_SERVICE_GRPC_PB_H_FILE "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/collector/profiles/v1development/profiles_service.grpc.pb.h" ) @@ -133,7 +133,7 @@ if(WITH_OTLP_GRPC) ) endif() -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) set(TRACE_SERVICE_GRPC_PB_CPP_FILE "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/collector/trace/v1/trace_service.grpc.pb.cc" ) @@ -147,7 +147,7 @@ set(LOGS_SERVICE_PB_CPP_FILE set(LOGS_SERVICE_PB_H_FILE "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/collector/logs/v1/logs_service.pb.h" ) -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) set(LOGS_SERVICE_GRPC_PB_CPP_FILE "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/collector/logs/v1/logs_service.grpc.pb.cc" ) @@ -161,7 +161,7 @@ set(METRICS_SERVICE_PB_CPP_FILE set(METRICS_SERVICE_PB_H_FILE "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/collector/metrics/v1/metrics_service.pb.h" ) -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) set(METRICS_SERVICE_GRPC_PB_CPP_FILE "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/collector/metrics/v1/metrics_service.grpc.pb.cc" ) @@ -229,7 +229,7 @@ set(PROTOBUF_GENERATED_FILES set(PROTOBUF_GENERATE_DEPENDS ${PROTOBUF_PROTOC_EXECUTABLE}) -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) list(APPEND PROTOBUF_GENERATE_DEPENDS ${gRPC_CPP_PLUGIN_EXECUTABLE}) list(APPEND PROTOBUF_COMMON_FLAGS "--grpc_out=generate_mock_code=true:${GENERATED_PROTOBUF_PATH}" @@ -331,7 +331,7 @@ if(Protobuf_INCLUDE_DIRS) PUBLIC "$") endif() -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) add_library( opentelemetry_proto_grpc ${OTELCPP_PROTO_TARGET_OPTIONS} ${TRACE_SERVICE_GRPC_PB_CPP_FILE} @@ -403,7 +403,7 @@ endif() # this is needed on some older grcp versions specifically conan recipe for # grpc/1.54.3 -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) if(TARGET absl::synchronization) target_link_libraries(opentelemetry_proto_grpc PUBLIC "$") @@ -416,7 +416,7 @@ if(BUILD_SHARED_LIBS) endforeach() endif() -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) install( DIRECTORY ${GENERATED_PROTOBUF_PATH}/opentelemetry DESTINATION include @@ -433,7 +433,7 @@ if(OPENTELEMETRY_INSTALL) "protobuf" ) - if(WITH_OTLP_GRPC) + if(OTELCPP_WITH_OTLP_GRPC) opentelemetry_add_pkgconfig( proto_grpc "OpenTelemetry - Protocol (gRPC)" diff --git a/cmake/package.cmake b/cmake/package.cmake index c14b38fde0..641bf9a208 100644 --- a/cmake/package.cmake +++ b/cmake/package.cmake @@ -9,7 +9,7 @@ set(CPACK_PACKAGE_CONTACT "OpenTelemetry-cpp") set(CPACK_PACKAGE_HOMEPAGE_URL "https://opentelemetry.io/") set(CMAKE_PROJECT_NAME "opentelemetry-cpp") -option(TARBALL "Build a tarball package" OFF) +otelcpp_option_flag(OTELCPP_TARBALL "Build a tarball package" OFF) if (UNIX AND NOT APPLE) include(cmake/ParseOsRelease.cmake) @@ -20,7 +20,7 @@ if (UNIX AND NOT APPLE) # Check if system is deb or rpm capable find_program(RPMCAPABLE rpmbuild) find_program(DEBCAPABLE dpkg-buildpackage) - if (TARBALL) + if (OTELCPP_TARBALL) set(CPACK_GENERATOR "TGZ") message("-- Package name: ${CPACK_PACKAGE_FILE_NAME}.tar.gz") elseif (DEBCAPABLE MATCHES "NOTFOUND" AND RPMCAPABLE MATCHES "NOTFOUND") @@ -49,7 +49,7 @@ if (UNIX AND NOT APPLE) message("-- Package name: ${CPACK_PACKAGE_FILE_NAME}.rpm") endif() elseif(APPLE) - if (TARBALL) + if (OTELCPP_TARBALL) set(CPACK_GENERATOR "TGZ") message("-- Package name: ${CPACK_PACKAGE_FILE_NAME}.tar.gz") endif() diff --git a/cmake/patch-imported-config.cmake b/cmake/patch-imported-config.cmake index 364d5407d4..b268bfc787 100644 --- a/cmake/patch-imported-config.cmake +++ b/cmake/patch-imported-config.cmake @@ -131,7 +131,7 @@ if(TARGET civetweb::civetweb) civetweb::civetweb civetweb::server civetweb::civetweb-cpp) endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) project_build_tools_patch_default_imported_config( GTest::gtest GTest::gtest_main diff --git a/cmake/protobuf.cmake b/cmake/protobuf.cmake index 9375a5bbea..9337822b66 100644 --- a/cmake/protobuf.cmake +++ b/cmake/protobuf.cmake @@ -39,7 +39,7 @@ else() GIT_TAG "${protobuf_GIT_TAG}" ) - set(protobuf_INSTALL ${OPENTELEMETRY_INSTALL} CACHE BOOL "" FORCE) + set(protobuf_INSTALL ${OTELCPP_INSTALL} CACHE BOOL "" FORCE) set(protobuf_BUILD_TESTS OFF CACHE BOOL "" FORCE) set(protobuf_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) @@ -81,7 +81,7 @@ message(STATUS "PROTOBUF_PROTOC_EXECUTABLE=${PROTOBUF_PROTOC_EXECUTABLE}") # When protobuf is fetched or built as a gRPC submodule utf8_range is compiled # but may need the alias target created -if(WITH_OTLP_UTF8_VALIDITY) +if(OTELCPP_WITH_OTLP_UTF8_VALIDITY) if(TARGET utf8_validity AND NOT TARGET utf8_range::utf8_validity) add_library(utf8_range::utf8_validity ALIAS utf8_validity) if(protobuf_SOURCE_DIR AND EXISTS diff --git a/cmake/ryml.cmake b/cmake/ryml.cmake index c070393da0..f0047b4ddc 100644 --- a/cmake/ryml.cmake +++ b/cmake/ryml.cmake @@ -20,7 +20,7 @@ if(NOT ryml_FOUND) set(RYML_BUILD_API OFF CACHE BOOL "" FORCE) set(RYML_DBG OFF CACHE BOOL "" FORCE) set(RYML_DEFAULT_CALLBACK_USES_EXCEPTIONS ON CACHE BOOL "" FORCE) - set(RYML_INSTALL ${OPENTELEMETRY_INSTALL} CACHE BOOL "" FORCE) + set(RYML_INSTALL ${OTELCPP_INSTALL} CACHE BOOL "" FORCE) FetchContent_MakeAvailable(ryml) diff --git a/cmake/tools.cmake b/cmake/tools.cmake index 9988f73300..37086779b5 100644 --- a/cmake/tools.cmake +++ b/cmake/tools.cmake @@ -319,3 +319,86 @@ function(project_build_tools_set_static_library_declaration DEFINITION_VARNAME) endforeach() endif() endfunction() + +function(_otelcpp_get_legacy_option_name __OPTION_NAME __OUTPUT_VARIABLE) + if(__OPTION_NAME MATCHES "^OTELCPP_WITH_") + string(REGEX REPLACE "^OTELCPP_" "" __LEGACY_OPTION_NAME "${__OPTION_NAME}") + elseif(__OPTION_NAME STREQUAL "OTELCPP_BUILD_W3CTRACECONTEXT_TEST") + set(__LEGACY_OPTION_NAME "BUILD_W3CTRACECONTEXT_TEST") + elseif(__OPTION_NAME STREQUAL "OTELCPP_INSTALL") + set(__LEGACY_OPTION_NAME "OPENTELEMETRY_INSTALL") + elseif(__OPTION_NAME STREQUAL "OTELCPP_SKIP_DYNAMIC_LOADING_TESTS") + set(__LEGACY_OPTION_NAME "OPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS") + elseif(__OPTION_NAME STREQUAL "OTELCPP_BUILD_DLL") + set(__LEGACY_OPTION_NAME "OPENTELEMETRY_BUILD_DLL") + elseif(__OPTION_NAME STREQUAL "OTELCPP_BUILD_PACKAGE") + set(__LEGACY_OPTION_NAME "BUILD_PACKAGE") + elseif(__OPTION_NAME STREQUAL "OTELCPP_EXTERNAL_COMPONENT_PATH") + set(__LEGACY_OPTION_NAME "OPENTELEMETRY_EXTERNAL_COMPONENT_PATH") + elseif(__OPTION_NAME STREQUAL "OTELCPP_TARBALL") + set(__LEGACY_OPTION_NAME "TARBALL") + else() + set(__LEGACY_OPTION_NAME "") + endif() + + set(${__OUTPUT_VARIABLE} + "${__LEGACY_OPTION_NAME}" + PARENT_SCOPE) +endfunction() + +function(_otelcpp_get_option_default __OPTION_NAME __DEFAULT_VALUE + __OUTPUT_VARIABLE) + set(__RESOLVED_DEFAULT "${__DEFAULT_VALUE}") + _otelcpp_get_legacy_option_name("${__OPTION_NAME}" __LEGACY_OPTION_NAME) + + if(NOT __LEGACY_OPTION_NAME STREQUAL "") + if(DEFINED ${__LEGACY_OPTION_NAME}) + # Read the legacy value even when the namespaced option takes precedence, + # so CMake does not report a recognized deprecated option as unused. + set(__LEGACY_VALUE "${${__LEGACY_OPTION_NAME}}") + message( + DEPRECATION + "CMake option ${__LEGACY_OPTION_NAME} is deprecated. Use ${__OPTION_NAME} instead." + ) + # The namespaced option takes precedence when both names are provided. + if(NOT DEFINED ${__OPTION_NAME}) + set(__RESOLVED_DEFAULT "${__LEGACY_VALUE}") + endif() + endif() + endif() + + set(${__OUTPUT_VARIABLE} + "${__RESOLVED_DEFAULT}" + PARENT_SCOPE) +endfunction() + +function(otelcpp_option_flag __OPTION_NAME __HELP_TEXT __DEFAULT_VALUE) + _otelcpp_get_option_default("${__OPTION_NAME}" "${__DEFAULT_VALUE}" + __RESOLVED_DEFAULT) + option(${__OPTION_NAME} "${__HELP_TEXT}" "${__RESOLVED_DEFAULT}") +endfunction() + +function(otelcpp_option_variable __OPTION_NAME __DEFAULT_VALUE __CACHE_TYPE + __DOC_STRING) + _otelcpp_get_option_default("${__OPTION_NAME}" "${__DEFAULT_VALUE}" + __RESOLVED_DEFAULT) + set(${__OPTION_NAME} + "${__RESOLVED_DEFAULT}" + CACHE "${__CACHE_TYPE}" "${__DOC_STRING}" ${ARGN}) +endfunction() + +include(CMakeDependentOption) + +function(otelcpp_dependent_option __OPTION_NAME __HELP_TEXT + __CONDITION_TRUE_VALUE __CONDITION_RULE __CONDITION_FALSE_VALUE) + _otelcpp_get_option_default("${__OPTION_NAME}" "${__CONDITION_TRUE_VALUE}" + __RESOLVED_DEFAULT) + cmake_dependent_option( + ${__OPTION_NAME} "${__HELP_TEXT}" "${__RESOLVED_DEFAULT}" + "${__CONDITION_RULE}" "${__CONDITION_FALSE_VALUE}") + # cmake_dependent_option uses a normal variable when the condition is false. + # Propagate it out of this wrapper function as well as retaining cache values. + set(${__OPTION_NAME} + "${${__OPTION_NAME}}" + PARENT_SCOPE) +endfunction() diff --git a/docker/Dockerfile b/docker/Dockerfile index e3d70841c9..9da47eaa79 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -58,8 +58,8 @@ RUN mkdir -p ${OTEL_BUILD_DIR} \ "-DCMAKE_CXX_STANDARD_REQUIRED=ON" \ "-DCMAKE_CXX_EXTENSIONS=OFF" \ "-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE" \ - "-DBUILD_TESTING=OFF" \ - "-DBUILD_EXAMPLES=OFF" \ + "-DOTELCPP_BUILD_TESTING=OFF" \ + "-DOTELCPP_WITH_EXAMPLES=OFF" \ "-DBUILD_SHARED_LIBS=${OTEL_BUILD_SHARED_LIBS}" \ && cmake --build "${OTEL_BUILD_DIR}" -j ${CORES} --target install diff --git a/docs/abi-policy.md b/docs/abi-policy.md index 157ec922fb..87d1d0e4df 100644 --- a/docs/abi-policy.md +++ b/docs/abi-policy.md @@ -12,7 +12,7 @@ that a component compiled against one version of the C++ standard library can work with an application or library compiled against a different version of the C++ standard library, we limit a portion of the OpenTelemetry API to use ABI stable `nostd::` types by default. The `OPENTELEMETRY_STL_VERSION` preprocessor macro -(defined by the CMake `WITH_STL` build option) can be set to replace +(defined by the CMake `OTELCPP_WITH_STL` build option) can be set to replace these ABI stable types with their `std::` equivalents (see [building with the standard C++ library](./building-with-stdlib.md) for when this is appropriate). diff --git a/docs/abi-version-policy.md b/docs/abi-version-policy.md index ec3144f066..275e3262ef 100644 --- a/docs/abi-version-policy.md +++ b/docs/abi-version-policy.md @@ -298,8 +298,8 @@ the given ABI is no longer available. The build files are the source of truth for which ABI version is currently experimental versus stable. In CMake, the experimental version is the -`WITH_ABI_VERSION_*` option labeled `EXPERIMENTAL` in `CMakeLists.txt`, and it -is off by default; any version without that label is stable. +`OTELCPP_WITH_ABI_VERSION_*` option labeled `EXPERIMENTAL` in `CMakeLists.txt`, +and it is off by default; any version without that label is stable. The following sections describe the migration path from one ABI (v1) to the next (v2). @@ -322,8 +322,8 @@ In this state, two ABI versions are available. CMake offers the following options: ```cmake -option(WITH_ABI_VERSION_1 "ABI version 1" ON) -option(WITH_ABI_VERSION_2 "EXPERIMENTAL: ABI version 2 preview" OFF) +option(OTELCPP_WITH_ABI_VERSION_1 "ABI version 1" ON) +option(OTELCPP_WITH_ABI_VERSION_2 "EXPERIMENTAL: ABI version 2 preview" OFF) ``` Instrumented applications are built against ABI v1 by default, @@ -347,9 +347,9 @@ An experimental ABI v3 is created. CMake offers the following options: ```cmake -option(WITH_ABI_VERSION_1 "ABI version 1" ON) -option(WITH_ABI_VERSION_2 "ABI version 2" OFF) -option(WITH_ABI_VERSION_3 "EXPERIMENTAL: ABI version 3 preview" OFF) +option(OTELCPP_WITH_ABI_VERSION_1 "ABI version 1" ON) +option(OTELCPP_WITH_ABI_VERSION_2 "ABI version 2" OFF) +option(OTELCPP_WITH_ABI_VERSION_3 "EXPERIMENTAL: ABI version 3 preview" OFF) ``` Instrumented applications are built against stable ABI v1 by default, @@ -369,9 +369,9 @@ the ABI offered by default is the newer ABI v2. CMake offers the following options: ```cmake -option(WITH_ABI_VERSION_1 "DEPRECATED: ABI version 1" OFF) -option(WITH_ABI_VERSION_2 "ABI version 2" ON) -option(WITH_ABI_VERSION_3 "EXPERIMENTAL: ABI version 3 preview" OFF) +option(OTELCPP_WITH_ABI_VERSION_1 "DEPRECATED: ABI version 1" OFF) +option(OTELCPP_WITH_ABI_VERSION_2 "ABI version 2" ON) +option(OTELCPP_WITH_ABI_VERSION_3 "EXPERIMENTAL: ABI version 3 preview" OFF) ``` Instrumented applications are built against stable ABI v2 by default, @@ -391,8 +391,8 @@ ABI v1 is no longer supported. CMake offers the following options: ```cmake -option(WITH_ABI_VERSION_2 "ABI version 2" ON) -option(WITH_ABI_VERSION_3 "EXPERIMENTAL: ABI version 3 preview" OFF) +option(OTELCPP_WITH_ABI_VERSION_2 "ABI version 2" ON) +option(OTELCPP_WITH_ABI_VERSION_3 "EXPERIMENTAL: ABI version 3 preview" OFF) ``` Instrumented applications and the opentelemetry-cpp library are build using diff --git a/docs/build-as-dll.md b/docs/build-as-dll.md index 9a53639834..e3ffc97f67 100644 --- a/docs/build-as-dll.md +++ b/docs/build-as-dll.md @@ -4,7 +4,7 @@ exporters. This **MAY** change in future. OpenTelemetry C++ can be built into single DLL named opentelemetry_cpp.dll on -Windows, with CMake flag `OPENTELEMETRY_BUILD_DLL` set to `ON`. +Windows, with CMake flag `OTELCPP_BUILD_DLL` set to `ON`. To instrument an application based on the DLL, please define macro `OPENTELEMETRY_BUILD_IMPORT_DLL` before including any OpenTelemetry API header diff --git a/docs/dependencies.md b/docs/dependencies.md index 78dbc4bb4d..f18bc0682c 100644 --- a/docs/dependencies.md +++ b/docs/dependencies.md @@ -29,7 +29,7 @@ Both these dependencies are listed here: [SDK](/sdk): - Uses Standard C++ library for latest features (std::string_view, std::variant, std::span, std::shared_ptr, std::unique_ptr) with C++14/17/20 - compiler if cmake option `WITH_STL` is enabled + compiler if cmake option `OTELCPP_WITH_STL` is enabled or macro `OPENTELEMETRY_STL_VERSION` is defined. License: `GNU General Public License` - For C++14/17 compilers, fallback to gsl::span if [GSL C++ diff --git a/docs/deprecation-process.md b/docs/deprecation-process.md index 81d3e845ce..332755847a 100644 --- a/docs/deprecation-process.md +++ b/docs/deprecation-process.md @@ -266,12 +266,12 @@ Assume the option `WITH_FOO` needs to be deprecated. Code using `WITH_FOO=OFF` or `WITH_FOO=ON` must build as before, yet users should be notified if they use `WITH_FOO` in their build. -CMake defines a `WITH_NO_DEPRECATED_CODE` option, set to OFF by default. +CMake defines a `OTELCPP_WITH_NO_DEPRECATED_CODE` option, set to OFF by default. In a normal build, used in production, code is compiled with -`WITH_NO_DEPRECATED_CODE=OFF`. +`OTELCPP_WITH_NO_DEPRECATED_CODE=OFF`. -In a verification build, code is compiled with `WITH_NO_DEPRECATED_CODE=ON`. +In a verification build, code is compiled with `OTELCPP_WITH_NO_DEPRECATED_CODE=ON`. This verification also defines `OPENTELEMETRY_NO_DEPRECATED_CODE`, for code level checks. @@ -281,7 +281,7 @@ Implement the following logic in CMake: option(WITH_FOO "DEPRECATED - With the foo feature" OFF) if(WITH_FOO) - if(WITH_NO_DEPRECATED_CODE) + if(OTELCPP_WITH_NO_DEPRECATED_CODE) message(FATAL_ERROR "WITH_FOO is deprecated") else() message(WARNING "WITH_FOO is deprecated") diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index e1237e5308..e590fb8fef 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -3,21 +3,21 @@ add_subdirectory(common) -if(WITH_OTLP_GRPC - OR WITH_OTLP_HTTP - OR WITH_OTLP_FILE) +if(OTELCPP_WITH_OTLP_GRPC + OR OTELCPP_WITH_OTLP_HTTP + OR OTELCPP_WITH_OTLP_FILE) add_subdirectory(otlp) endif() -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) add_subdirectory(grpc) endif() -if(WITH_ETW) +if(OTELCPP_WITH_ETW) add_subdirectory(etw_threads) endif() -if(WITH_ZIPKIN) +if(OTELCPP_WITH_ZIPKIN) add_subdirectory(zipkin) endif() -if(WITH_PROMETHEUS) +if(OTELCPP_WITH_PROMETHEUS) add_subdirectory(prometheus) endif() add_subdirectory(logs_simple) @@ -32,14 +32,14 @@ add_subdirectory(tracer_configurator) add_subdirectory(logger_configurator) add_subdirectory(explicit_parent) -if(WITH_EXAMPLES_HTTP) +if(OTELCPP_WITH_EXAMPLES_HTTP) add_subdirectory(http) endif() -if(WITH_CONFIGURATION) +if(OTELCPP_WITH_CONFIGURATION) add_subdirectory(configuration) endif() -if(WITH_OTLP_HTTP) +if(OTELCPP_WITH_OTLP_HTTP) add_subdirectory(custom_http_client) endif() diff --git a/examples/batch/CMakeLists.txt b/examples/batch/CMakeLists.txt index 765244d14e..19a5dff3a2 100644 --- a/examples/batch/CMakeLists.txt +++ b/examples/batch/CMakeLists.txt @@ -6,7 +6,7 @@ target_link_libraries( batch_span_processor_example PRIVATE opentelemetry-cpp::ostream_span_exporter opentelemetry-cpp::trace) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.batch COMMAND "$") endif() diff --git a/examples/common/foo_library/CMakeLists.txt b/examples/common/foo_library/CMakeLists.txt index 6577866753..d8a63b2166 100644 --- a/examples/common/foo_library/CMakeLists.txt +++ b/examples/common/foo_library/CMakeLists.txt @@ -3,7 +3,7 @@ add_library(common_foo_library foo_library.h foo_library.cc) -if(DEFINED OPENTELEMETRY_BUILD_DLL) +if(OTELCPP_BUILD_DLL) target_compile_definitions(common_foo_library PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) endif() diff --git a/examples/common/logs_foo_library/CMakeLists.txt b/examples/common/logs_foo_library/CMakeLists.txt index 14b0209bd5..68d4f1c154 100644 --- a/examples/common/logs_foo_library/CMakeLists.txt +++ b/examples/common/logs_foo_library/CMakeLists.txt @@ -3,7 +3,7 @@ add_library(common_logs_foo_library foo_library.h foo_library.cc) -if(DEFINED OPENTELEMETRY_BUILD_DLL) +if(OTELCPP_BUILD_DLL) target_compile_definitions(common_logs_foo_library PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) endif() diff --git a/examples/common/metrics_foo_library/CMakeLists.txt b/examples/common/metrics_foo_library/CMakeLists.txt index 54f034afa1..72017cf1f6 100644 --- a/examples/common/metrics_foo_library/CMakeLists.txt +++ b/examples/common/metrics_foo_library/CMakeLists.txt @@ -3,7 +3,7 @@ add_library(common_metrics_foo_library foo_library.h foo_library.cc) -if(DEFINED OPENTELEMETRY_BUILD_DLL) +if(OTELCPP_BUILD_DLL) target_compile_definitions(common_metrics_foo_library PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) endif() diff --git a/examples/configuration/CMakeLists.txt b/examples/configuration/CMakeLists.txt index 239a0cbd25..0780912bd3 100644 --- a/examples/configuration/CMakeLists.txt +++ b/examples/configuration/CMakeLists.txt @@ -28,7 +28,7 @@ target_link_libraries( opentelemetry-cpp::ostream_metrics_exporter_builder opentelemetry-cpp::ostream_log_record_exporter_builder) -if(WITH_OTLP_HTTP) +if(OTELCPP_WITH_OTLP_HTTP) target_compile_definitions(example_yaml PRIVATE OTEL_HAVE_OTLP_HTTP) target_link_libraries( example_yaml @@ -37,7 +37,7 @@ if(WITH_OTLP_HTTP) opentelemetry-cpp::otlp_http_metric_exporter_builder) endif() -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) target_compile_definitions(example_yaml PRIVATE OTEL_HAVE_OTLP_GRPC) target_link_libraries( example_yaml @@ -46,7 +46,7 @@ if(WITH_OTLP_GRPC) opentelemetry-cpp::otlp_grpc_metric_exporter_builder) endif() -if(WITH_OTLP_FILE) +if(OTELCPP_WITH_OTLP_FILE) target_compile_definitions(example_yaml PRIVATE OTEL_HAVE_OTLP_FILE) target_link_libraries( example_yaml @@ -55,13 +55,13 @@ if(WITH_OTLP_FILE) opentelemetry-cpp::otlp_file_metric_exporter_builder) endif() -if(WITH_PROMETHEUS) +if(OTELCPP_WITH_PROMETHEUS) target_compile_definitions(example_yaml PRIVATE OTEL_HAVE_PROMETHEUS) target_link_libraries(example_yaml PRIVATE opentelemetry-cpp::prometheus_exporter_builder) endif() -if(DEFINED OPENTELEMETRY_BUILD_DLL) +if(OTELCPP_BUILD_DLL) target_compile_definitions(example_yaml PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_yaml @@ -73,6 +73,6 @@ else() opentelemetry-cpp::trace opentelemetry-cpp::logs) endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.example_yaml COMMAND "$") endif() diff --git a/examples/custom_http_client/CMakeLists.txt b/examples/custom_http_client/CMakeLists.txt index d0a762d849..63d05790a0 100644 --- a/examples/custom_http_client/CMakeLists.txt +++ b/examples/custom_http_client/CMakeLists.txt @@ -10,7 +10,7 @@ target_link_libraries( example_custom_http_client PRIVATE custom_http_client_stub opentelemetry-cpp::otlp_http_exporter) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.custom_http_client COMMAND "$") endif() diff --git a/examples/environment_carrier/CMakeLists.txt b/examples/environment_carrier/CMakeLists.txt index 7b067efc6d..97ba61c1bd 100644 --- a/examples/environment_carrier/CMakeLists.txt +++ b/examples/environment_carrier/CMakeLists.txt @@ -4,7 +4,7 @@ if(NOT WIN32) add_executable(example_environment_carrier main.cc) - if(DEFINED OPENTELEMETRY_BUILD_DLL) + if(OTELCPP_BUILD_DLL) target_compile_definitions(example_environment_carrier PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_environment_carrier @@ -15,7 +15,7 @@ if(NOT WIN32) PRIVATE opentelemetry-cpp::trace opentelemetry-cpp::ostream_span_exporter) endif() - if(BUILD_TESTING) + if(OTELCPP_BUILD_TESTING) add_test(NAME examples.environment_carrier COMMAND "$") endif() diff --git a/examples/etw_threads/CMakeLists.txt b/examples/etw_threads/CMakeLists.txt index e4eaeecd28..54bf734107 100644 --- a/examples/etw_threads/CMakeLists.txt +++ b/examples/etw_threads/CMakeLists.txt @@ -9,6 +9,6 @@ target_link_libraries( etw_threadpool PRIVATE Threads::Threads opentelemetry-cpp::api opentelemetry-cpp::etw_exporter) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.etw_threads COMMAND "$") endif() diff --git a/examples/explicit_parent/CMakeLists.txt b/examples/explicit_parent/CMakeLists.txt index 60d096655d..2eafad9283 100644 --- a/examples/explicit_parent/CMakeLists.txt +++ b/examples/explicit_parent/CMakeLists.txt @@ -6,7 +6,7 @@ target_link_libraries( example_explicit_parent PRIVATE opentelemetry-cpp::trace opentelemetry-cpp::ostream_span_exporter) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.explicit_parent COMMAND "$") endif() diff --git a/examples/http/CMakeLists.txt b/examples/http/CMakeLists.txt index ffc286354c..4ca6c81a32 100644 --- a/examples/http/CMakeLists.txt +++ b/examples/http/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(WITH_HTTP_CLIENT_CURL) +if(OTELCPP_WITH_HTTP_CLIENT_CURL) add_executable(http_client client.cc) add_executable(http_server server.cc) diff --git a/examples/logger_configurator/CMakeLists.txt b/examples/logger_configurator/CMakeLists.txt index 8d89f6b51d..2f8474f108 100644 --- a/examples/logger_configurator/CMakeLists.txt +++ b/examples/logger_configurator/CMakeLists.txt @@ -7,7 +7,7 @@ target_link_libraries( PRIVATE opentelemetry-cpp::logs opentelemetry-cpp::ostream_log_record_exporter) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.logger_configurator COMMAND "$") endif() diff --git a/examples/logs_simple/CMakeLists.txt b/examples/logs_simple/CMakeLists.txt index f0923d6bfc..e1608557db 100644 --- a/examples/logs_simple/CMakeLists.txt +++ b/examples/logs_simple/CMakeLists.txt @@ -4,7 +4,7 @@ add_executable(example_logs_simple main.cc) target_link_libraries(example_logs_simple PRIVATE common_logs_foo_library) -if(DEFINED OPENTELEMETRY_BUILD_DLL) +if(OTELCPP_BUILD_DLL) target_compile_definitions(example_logs_simple PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_logs_simple @@ -17,7 +17,7 @@ else() opentelemetry-cpp::ostream_log_record_exporter) endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.logs_simple COMMAND "$") endif() diff --git a/examples/metrics_simple/CMakeLists.txt b/examples/metrics_simple/CMakeLists.txt index af7087baea..80c7ee6893 100644 --- a/examples/metrics_simple/CMakeLists.txt +++ b/examples/metrics_simple/CMakeLists.txt @@ -6,7 +6,7 @@ add_executable(metrics_ostream_example metrics_ostream.cc) target_link_libraries(metrics_ostream_example PRIVATE common_metrics_foo_library) -if(DEFINED OPENTELEMETRY_BUILD_DLL) +if(OTELCPP_BUILD_DLL) target_compile_definitions(metrics_ostream_example PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(metrics_ostream_example @@ -17,7 +17,7 @@ else() opentelemetry-cpp::ostream_metrics_exporter) endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.metrics_simple COMMAND "$") endif() diff --git a/examples/multi_processor/CMakeLists.txt b/examples/multi_processor/CMakeLists.txt index 7120ec636f..6caae03c81 100644 --- a/examples/multi_processor/CMakeLists.txt +++ b/examples/multi_processor/CMakeLists.txt @@ -8,7 +8,7 @@ target_link_libraries( opentelemetry-cpp::ostream_span_exporter opentelemetry-cpp::in_memory_span_exporter) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.multi_processor COMMAND "$") endif() diff --git a/examples/multithreaded/CMakeLists.txt b/examples/multithreaded/CMakeLists.txt index b05a36a3ad..19a479766b 100644 --- a/examples/multithreaded/CMakeLists.txt +++ b/examples/multithreaded/CMakeLists.txt @@ -6,7 +6,7 @@ target_link_libraries( example_multithreaded PRIVATE opentelemetry-cpp::trace opentelemetry-cpp::ostream_span_exporter) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.multithreaded COMMAND "$") endif() diff --git a/examples/otlp/CMakeLists.txt b/examples/otlp/CMakeLists.txt index e6102611b6..e60cc9ad96 100644 --- a/examples/otlp/CMakeLists.txt +++ b/examples/otlp/CMakeLists.txt @@ -1,14 +1,14 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) # TRACE add_executable(example_otlp_grpc grpc_main.cc) target_link_libraries(example_otlp_grpc PRIVATE common_foo_library) - if(DEFINED OPENTELEMETRY_BUILD_DLL) + if(OTELCPP_BUILD_DLL) target_compile_definitions(example_otlp_grpc PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_otlp_grpc @@ -25,7 +25,7 @@ if(WITH_OTLP_GRPC) target_link_libraries(example_otlp_grpc_metric PRIVATE common_metrics_foo_library) - if(DEFINED OPENTELEMETRY_BUILD_DLL) + if(OTELCPP_BUILD_DLL) target_compile_definitions(example_otlp_grpc_metric PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_otlp_grpc_metric @@ -40,7 +40,7 @@ if(WITH_OTLP_GRPC) add_executable(example_otlp_grpc_log grpc_log_main.cc) target_link_libraries(example_otlp_grpc_log PRIVATE common_logs_foo_library) - if(DEFINED OPENTELEMETRY_BUILD_DLL) + if(OTELCPP_BUILD_DLL) target_compile_definitions(example_otlp_grpc_log PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_otlp_grpc_log @@ -53,13 +53,13 @@ if(WITH_OTLP_GRPC) endif() endif() -if(WITH_OTLP_HTTP) +if(OTELCPP_WITH_OTLP_HTTP) # TRACE add_executable(example_otlp_http http_main.cc) target_link_libraries(example_otlp_http PRIVATE common_foo_library) - if(DEFINED OPENTELEMETRY_BUILD_DLL) + if(OTELCPP_BUILD_DLL) target_compile_definitions(example_otlp_http PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_otlp_http @@ -75,7 +75,7 @@ if(WITH_OTLP_HTTP) target_link_libraries(example_otlp_http_metric PRIVATE common_metrics_foo_library) - if(DEFINED OPENTELEMETRY_BUILD_DLL) + if(OTELCPP_BUILD_DLL) target_compile_definitions(example_otlp_http_metric PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_otlp_http_metric @@ -90,7 +90,7 @@ if(WITH_OTLP_HTTP) add_executable(example_otlp_http_log http_log_main.cc) target_link_libraries(example_otlp_http_log PRIVATE common_logs_foo_library) - if(DEFINED OPENTELEMETRY_BUILD_DLL) + if(OTELCPP_BUILD_DLL) target_compile_definitions(example_otlp_http_log PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_otlp_http_log @@ -111,7 +111,7 @@ if(WITH_OTLP_HTTP) example_otlp_instrumented_http PRIVATE common_metrics_foo_library common_logs_foo_library) - if(DEFINED OPENTELEMETRY_BUILD_DLL) + if(OTELCPP_BUILD_DLL) target_compile_definitions(example_otlp_instrumented_http PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_otlp_instrumented_http @@ -126,14 +126,14 @@ if(WITH_OTLP_HTTP) endif() -if(WITH_OTLP_FILE) +if(OTELCPP_WITH_OTLP_FILE) # TRACE add_executable(example_otlp_file file_main.cc) target_link_libraries(example_otlp_file PRIVATE common_foo_library) - if(DEFINED OPENTELEMETRY_BUILD_DLL) + if(OTELCPP_BUILD_DLL) target_compile_definitions(example_otlp_file PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_otlp_file @@ -150,7 +150,7 @@ if(WITH_OTLP_FILE) target_link_libraries(example_otlp_file_metric PRIVATE common_metrics_foo_library) - if(DEFINED OPENTELEMETRY_BUILD_DLL) + if(OTELCPP_BUILD_DLL) target_compile_definitions(example_otlp_file_metric PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_otlp_file_metric @@ -165,7 +165,7 @@ if(WITH_OTLP_FILE) add_executable(example_otlp_file_log file_log_main.cc) target_link_libraries(example_otlp_file_log PRIVATE common_logs_foo_library) - if(DEFINED OPENTELEMETRY_BUILD_DLL) + if(OTELCPP_BUILD_DLL) target_compile_definitions(example_otlp_file_log PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_otlp_file_log diff --git a/examples/plugin/CMakeLists.txt b/examples/plugin/CMakeLists.txt index ef0c25aeca..c1e82f4b3a 100644 --- a/examples/plugin/CMakeLists.txt +++ b/examples/plugin/CMakeLists.txt @@ -3,11 +3,11 @@ add_subdirectory(load) -if(NOT OPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS) +if(NOT OTELCPP_SKIP_DYNAMIC_LOADING_TESTS) add_subdirectory(plugin) endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/load/empty_config.txt" "") add_test( NAME examples.plugin diff --git a/examples/simple/CMakeLists.txt b/examples/simple/CMakeLists.txt index cd784febd7..eca5cfbead 100644 --- a/examples/simple/CMakeLists.txt +++ b/examples/simple/CMakeLists.txt @@ -4,7 +4,7 @@ add_executable(example_simple main.cc) target_link_libraries(example_simple PRIVATE common_foo_library) -if(DEFINED OPENTELEMETRY_BUILD_DLL) +if(OTELCPP_BUILD_DLL) target_compile_definitions(example_simple PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_simple @@ -15,6 +15,6 @@ else() opentelemetry-cpp::ostream_span_exporter) endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.simple COMMAND "$") endif() diff --git a/examples/tracer_configurator/CMakeLists.txt b/examples/tracer_configurator/CMakeLists.txt index 831fea9a08..9f720cdfea 100644 --- a/examples/tracer_configurator/CMakeLists.txt +++ b/examples/tracer_configurator/CMakeLists.txt @@ -6,7 +6,7 @@ target_link_libraries( example_tracer_configurator PRIVATE opentelemetry-cpp::trace opentelemetry-cpp::ostream_span_exporter) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_test(NAME examples.tracer_configurator COMMAND "$") endif() diff --git a/exporters/CMakeLists.txt b/exporters/CMakeLists.txt index a59e1f9046..529bfb4d47 100644 --- a/exporters/CMakeLists.txt +++ b/exporters/CMakeLists.txt @@ -1,27 +1,27 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(WITH_OTLP_GRPC - OR WITH_OTLP_HTTP - OR WITH_OTLP_FILE) +if(OTELCPP_WITH_OTLP_GRPC + OR OTELCPP_WITH_OTLP_HTTP + OR OTELCPP_WITH_OTLP_FILE) add_subdirectory(otlp) endif() add_subdirectory(ostream) add_subdirectory(memory) -if(WITH_PROMETHEUS) +if(OTELCPP_WITH_PROMETHEUS) add_subdirectory(prometheus) endif() -if(WITH_ZIPKIN) +if(OTELCPP_WITH_ZIPKIN) add_subdirectory(zipkin) endif() -if(WITH_ELASTICSEARCH) +if(OTELCPP_WITH_ELASTICSEARCH) add_subdirectory(elasticsearch) endif() -if(WITH_ETW) +if(OTELCPP_WITH_ETW) add_subdirectory(etw) endif() diff --git a/exporters/elasticsearch/CMakeLists.txt b/exporters/elasticsearch/CMakeLists.txt index cfd4ce01db..18b2bcd898 100644 --- a/exporters/elasticsearch/CMakeLists.txt +++ b/exporters/elasticsearch/CMakeLists.txt @@ -36,14 +36,14 @@ otel_add_component( "es_log_recordable.h" EXCLUDE) -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( exporter_elasticsearch_logs "OpenTelemetry Exporter - Elasticsearch" "Exports log records to Elasticsearch." "opentelemetry_trace opentelemetry_logs") endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_executable(es_log_record_exporter_test test/es_log_record_exporter_test.cc) @@ -55,4 +55,4 @@ if(BUILD_TESTING) TARGET es_log_record_exporter_test TEST_PREFIX exporter. TEST_LIST es_log_record_exporter_test) -endif() # BUILD_TESTING +endif() # OTELCPP_BUILD_TESTING diff --git a/exporters/etw/CMakeLists.txt b/exporters/etw/CMakeLists.txt index 82e405bd85..9f2c3e812f 100644 --- a/exporters/etw/CMakeLists.txt +++ b/exporters/etw/CMakeLists.txt @@ -29,7 +29,7 @@ otel_add_component( PATTERN "*.h") -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_executable(etw_provider_test test/etw_provider_test.cc) add_executable(etw_tracer_test test/etw_tracer_test.cc) add_executable(etw_logger_test test/etw_logger_test.cc) @@ -57,7 +57,7 @@ if(BUILD_TESTING) target_compile_definitions(etw_logger_test_enable_env_properties PRIVATE ENABLE_ENV_PROPERTIES) - if(WITH_BENCHMARK) + if(OTELCPP_WITH_BENCHMARK) add_executable(etw_perf_test test/etw_perf_test.cc) target_link_libraries( etw_perf_test benchmark::benchmark ${GTEST_BOTH_LIBRARIES} @@ -85,4 +85,4 @@ if(BUILD_TESTING) TEST_PREFIX exporter.with_env_properties. TEST_LIST etw_logger_test_enable_env_properties) -endif() # BUILD_TESTING +endif() # OTELCPP_BUILD_TESTING diff --git a/exporters/memory/CMakeLists.txt b/exporters/memory/CMakeLists.txt index b205df3936..d61e0632ea 100644 --- a/exporters/memory/CMakeLists.txt +++ b/exporters/memory/CMakeLists.txt @@ -48,7 +48,7 @@ otel_add_component( PATTERN "*.h") -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( exporter_in_memory "OpenTelemetry Exporter - In-Memory Span" "In-memory span exporter for testing and debugging." "opentelemetry_trace") @@ -59,7 +59,7 @@ if(OPENTELEMETRY_INSTALL) "opentelemetry_metrics") endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_executable(in_memory_span_data_test test/in_memory_span_data_test.cc) add_executable(in_memory_span_exporter_test test/in_memory_span_exporter_test.cc) diff --git a/exporters/ostream/CMakeLists.txt b/exporters/ostream/CMakeLists.txt index 6ca8b7d654..063dfe0ecf 100644 --- a/exporters/ostream/CMakeLists.txt +++ b/exporters/ostream/CMakeLists.txt @@ -23,7 +23,7 @@ target_link_libraries(opentelemetry_exporter_ostream_span list(APPEND OPENTELEMETRY_OSTREAM_TARGETS opentelemetry_exporter_ostream_span) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_executable(ostream_span_test test/ostream_span_test.cc) target_link_libraries(ostream_span_test ${GTEST_BOTH_LIBRARIES} opentelemetry_exporter_ostream_span) @@ -31,7 +31,7 @@ if(BUILD_TESTING) TARGET ostream_span_test TEST_PREFIX exporter. TEST_LIST ostream_span_test) -endif() # BUILD_TESTING +endif() # OTELCPP_BUILD_TESTING # # opentelemetry_exporter_ostream_span_builder @@ -74,7 +74,7 @@ target_link_libraries(opentelemetry_exporter_ostream_metrics list(APPEND OPENTELEMETRY_OSTREAM_TARGETS opentelemetry_exporter_ostream_metrics) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_executable(ostream_metric_test test/ostream_metric_test.cc) target_link_libraries( ostream_metric_test ${GTEST_BOTH_LIBRARIES} @@ -122,7 +122,7 @@ target_link_libraries(opentelemetry_exporter_ostream_logs PUBLIC opentelemetry_logs) list(APPEND OPENTELEMETRY_OSTREAM_TARGETS opentelemetry_exporter_ostream_logs) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_executable(ostream_log_test test/ostream_log_test.cc) target_link_libraries(ostream_log_test ${GTEST_BOTH_LIBRARIES} opentelemetry_exporter_ostream_logs) @@ -191,7 +191,7 @@ otel_add_component( PATTERN "console_span_builder.h") -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( exporter_ostream_span "OpenTelemetry Exporter - OStream Span" "Exports trace spans to output stream." "opentelemetry_trace") diff --git a/exporters/otlp/CMakeLists.txt b/exporters/otlp/CMakeLists.txt index 792e25ccf2..a34ddbcf55 100644 --- a/exporters/otlp/CMakeLists.txt +++ b/exporters/otlp/CMakeLists.txt @@ -33,7 +33,7 @@ target_include_directories( set(OPENTELEMETRY_OTLP_TARGETS opentelemetry_otlp_recordable) -if(WITH_OTLP_UTF8_VALIDITY AND TARGET utf8_range::utf8_validity) +if(OTELCPP_WITH_OTLP_UTF8_VALIDITY AND TARGET utf8_range::utf8_validity) target_link_libraries( opentelemetry_otlp_recordable PUBLIC opentelemetry_logs opentelemetry_metrics @@ -64,7 +64,7 @@ target_include_directories( target_link_libraries(opentelemetry_exporter_otlp_builder_utils PUBLIC opentelemetry_otlp_recordable) -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( otlp_recordable "OpenTelemetry OTLP - Recordable" @@ -78,7 +78,7 @@ if(OPENTELEMETRY_INSTALL) "opentelemetry_otlp_recordable") endif() -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) if(NOT DEFINED grpc_lib_type) message( FATAL_ERROR "cmake/opentelemetry-proto.cmake should be included first") @@ -256,7 +256,7 @@ if(WITH_OTLP_GRPC) list(APPEND OPENTELEMETRY_OTLP_GRPC_BUILDER_TARGETS opentelemetry_exporter_otlp_grpc_metric_builder) - if(OPENTELEMETRY_INSTALL) + if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( exporter_otlp_grpc_client "OpenTelemetry OTLP - gRPC Client" "gRPC client for OTLP protocol." "opentelemetry_api opentelemetry_common") @@ -300,7 +300,7 @@ if(WITH_OTLP_GRPC) endif() -if(WITH_OTLP_HTTP) +if(OTELCPP_WITH_OTLP_HTTP) # # opentelemetry_exporter_otlp_http_client @@ -460,7 +460,7 @@ if(WITH_OTLP_HTTP) list(APPEND OPENTELEMETRY_OTLP_HTTP_BUILDER_TARGETS opentelemetry_exporter_otlp_http_metric_builder) - if(OPENTELEMETRY_INSTALL) + if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( exporter_otlp_http_client "OpenTelemetry OTLP - HTTP Client" "HTTP client for OTLP protocol." "opentelemetry_api") @@ -504,7 +504,7 @@ if(WITH_OTLP_HTTP) endif() -if(WITH_OTLP_FILE) +if(OTELCPP_WITH_OTLP_FILE) # # opentelemetry_exporter_otlp_file_client @@ -657,7 +657,7 @@ if(WITH_OTLP_FILE) list(APPEND OPENTELEMETRY_OTLP_FILE_BUILDER_TARGETS opentelemetry_exporter_otlp_file_metric_builder) - if(OPENTELEMETRY_INSTALL) + if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( exporter_otlp_file_client "OpenTelemetry OTLP - File Client" "File client for OTLP protocol." "opentelemetry_api opentelemetry_common") @@ -744,7 +744,7 @@ otel_add_component( PATTERN "otlp_builder_utils.h") -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) otel_add_component( COMPONENT exporters_otlp_grpc @@ -786,7 +786,7 @@ if(WITH_OTLP_GRPC) endif() -if(WITH_OTLP_HTTP) +if(OTELCPP_WITH_OTLP_HTTP) otel_add_component( COMPONENT exporters_otlp_http @@ -828,7 +828,7 @@ if(WITH_OTLP_HTTP) endif() -if(WITH_OTLP_FILE) +if(OTELCPP_WITH_OTLP_FILE) otel_add_component( COMPONENT exporters_otlp_file @@ -870,7 +870,7 @@ if(WITH_OTLP_FILE) endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_executable(otlp_recordable_test test/otlp_recordable_test.cc) target_link_libraries( otlp_recordable_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} @@ -883,7 +883,7 @@ if(BUILD_TESTING) add_executable(otlp_log_recordable_test test/otlp_log_recordable_test.cc) target_link_libraries(otlp_log_recordable_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} opentelemetry_otlp_recordable) - if(WITH_OTLP_UTF8_VALIDITY AND TARGET utf8_range::utf8_validity) + if(OTELCPP_WITH_OTLP_UTF8_VALIDITY AND TARGET utf8_range::utf8_validity) target_compile_definitions(otlp_log_recordable_test PRIVATE ENABLE_OTLP_UTF8_VALIDITY) endif() @@ -917,7 +917,7 @@ if(BUILD_TESTING) TEST_PREFIX exporter.otlp. TEST_LIST otlp_metrics_serialization_test) - if(WITH_OTLP_GRPC) + if(OTELCPP_WITH_OTLP_GRPC) add_executable(otlp_grpc_exporter_test test/otlp_grpc_exporter_test.cc) target_link_libraries( otlp_grpc_exporter_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} @@ -1001,7 +1001,7 @@ if(BUILD_TESTING) TEST_LIST otlp_grpc_metric_exporter_factory_test) endif() - if(WITH_OTLP_HTTP) + if(OTELCPP_WITH_OTLP_HTTP) add_executable(otlp_http_exporter_test test/otlp_http_exporter_test.cc) target_link_libraries( otlp_http_exporter_test @@ -1119,7 +1119,7 @@ if(BUILD_TESTING) TEST_LIST otlp_http_log_record_exporter_custom_client_test) endif() - if(WITH_OTLP_FILE) + if(OTELCPP_WITH_OTLP_FILE) add_executable(otlp_file_client_test test/otlp_file_client_test.cc) target_link_libraries( otlp_file_client_test @@ -1211,9 +1211,11 @@ if(BUILD_TESTING) TEST_PREFIX exporter.otlp. TEST_LIST otlp_file_metric_exporter_factory_test) endif() -endif() # BUILD_TESTING +endif() # OTELCPP_BUILD_TESTING -if(WITH_BENCHMARK AND WITH_OTLP_HTTP) +if(OTELCPP_BUILD_TESTING + AND OTELCPP_WITH_BENCHMARK + AND OTELCPP_WITH_OTLP_HTTP) add_executable(otlp_http_metric_exporter_benchmark benchmark/otlp_http_metric_exporter_benchmark.cc) @@ -1224,7 +1226,7 @@ if(WITH_BENCHMARK AND WITH_OTLP_HTTP) ${CMAKE_THREAD_LIBS_INIT}) endif() -if(WITH_BENCHMARK) +if(OTELCPP_BUILD_TESTING AND OTELCPP_WITH_BENCHMARK) add_executable(otlp_recordable_benchmark test/otlp_recordable_benchmark.cc) target_link_libraries( diff --git a/exporters/prometheus/CMakeLists.txt b/exporters/prometheus/CMakeLists.txt index a5a13c76ee..d8a9f11dc8 100644 --- a/exporters/prometheus/CMakeLists.txt +++ b/exporters/prometheus/CMakeLists.txt @@ -74,7 +74,7 @@ otel_add_component( PATTERN "prometheus_pull_builder.h") -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( exporter_prometheus "OpenTelemetry Exporter - Prometheus" "Exports metrics in Prometheus format." "opentelemetry_metrics") @@ -84,6 +84,6 @@ if(OPENTELEMETRY_INSTALL) "Builder for Prometheus exporter." "opentelemetry_exporter_prometheus") endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_subdirectory(test) endif() diff --git a/exporters/zipkin/CMakeLists.txt b/exporters/zipkin/CMakeLists.txt index b90b1177ce..caf8c82d47 100644 --- a/exporters/zipkin/CMakeLists.txt +++ b/exporters/zipkin/CMakeLists.txt @@ -42,13 +42,13 @@ otel_add_component( "recordable.h" EXCLUDE) -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( exporter_zipkin_trace "OpenTelemetry Exporter - Zipkin" "Exports trace spans in Zipkin format." "opentelemetry_trace") endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) add_executable(zipkin_recordable_test test/zipkin_recordable_test.cc) @@ -62,7 +62,7 @@ if(BUILD_TESTING) TEST_PREFIX exporter. TEST_LIST zipkin_recordable_test) - if(WITH_HTTP_CLIENT_CURL) + if(OTELCPP_WITH_HTTP_CLIENT_CURL) add_executable(zipkin_exporter_test test/zipkin_exporter_test.cc) target_link_libraries( @@ -80,4 +80,4 @@ if(BUILD_TESTING) TEST_PREFIX exporter. TEST_LIST zipkin_exporter_test) endif() -endif() # BUILD_TESTING +endif() # OTELCPP_BUILD_TESTING diff --git a/exporters/zipkin/README.md b/exporters/zipkin/README.md index 40bb1f0615..e7d016a2fb 100644 --- a/exporters/zipkin/README.md +++ b/exporters/zipkin/README.md @@ -12,7 +12,7 @@ Refer to install instructions [INSTALL.md](../../INSTALL.md#building-as-standalo Modify step 2 to create `cmake` build configuration for compiling Zipkin as below: ```console - $ cmake -DWITH_ZIPKIN=ON .. + $ cmake -DOTELCPP_WITH_ZIPKIN=ON .. -- The C compiler identification is GNU 9.3.0 -- The CXX compiler identification is GNU 9.3.0 ... diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt index d50cf3a759..b5e3779e44 100644 --- a/ext/CMakeLists.txt +++ b/ext/CMakeLists.txt @@ -25,6 +25,6 @@ otel_add_component( add_subdirectory(src) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_subdirectory(test) endif() diff --git a/ext/include/opentelemetry/ext/http/client/detail/default_factory.h b/ext/include/opentelemetry/ext/http/client/detail/default_factory.h index 0ca650a845..b6e470025a 100644 --- a/ext/include/opentelemetry/ext/http/client/detail/default_factory.h +++ b/ext/include/opentelemetry/ext/http/client/detail/default_factory.h @@ -33,7 +33,7 @@ inline std::shared_ptr GetDefaultHttpClientFactory() OTEL_INTERNAL_LOG_ERROR( "No default HTTP client backend is compiled in. " "Use the HttpClientFactory or HttpClient constructor overloads, " - "or enable curl support (WITH_HTTP_CLIENT_CURL=ON)."); + "or enable curl support (OTELCPP_WITH_HTTP_CLIENT_CURL=ON)."); std::terminate(); #endif } diff --git a/ext/src/CMakeLists.txt b/ext/src/CMakeLists.txt index d984ce6a61..93e77cb484 100644 --- a/ext/src/CMakeLists.txt +++ b/ext/src/CMakeLists.txt @@ -1,19 +1,19 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(WITH_HTTP_CLIENT_CURL) +if(OTELCPP_WITH_HTTP_CLIENT_CURL) add_subdirectory(http/client/curl) endif() -if(WITH_HTTP_CLIENT_CURL - OR WITH_OTLP_HTTP - OR WITH_ELASTICSEARCH - OR WITH_ZIPKIN - OR BUILD_W3CTRACECONTEXT_TEST - OR WITH_EXAMPLES_HTTP) +if(OTELCPP_WITH_HTTP_CLIENT_CURL + OR OTELCPP_WITH_OTLP_HTTP + OR OTELCPP_WITH_ELASTICSEARCH + OR OTELCPP_WITH_ZIPKIN + OR OTELCPP_BUILD_W3CTRACECONTEXT_TEST + OR OTELCPP_WITH_EXAMPLES_HTTP) add_library(opentelemetry_http_client INTERFACE) target_link_libraries(opentelemetry_http_client INTERFACE opentelemetry_ext) - if(WITH_HTTP_CLIENT_CURL) + if(OTELCPP_WITH_HTTP_CLIENT_CURL) target_link_libraries(opentelemetry_http_client INTERFACE opentelemetry_http_client_curl) endif() @@ -23,6 +23,6 @@ if(WITH_HTTP_CLIENT_CURL otel_add_component(COMPONENT ext_http TARGETS opentelemetry_http_client) endif() -if(DEFINED OPENTELEMETRY_BUILD_DLL) +if(OTELCPP_BUILD_DLL) add_subdirectory(dll) endif() diff --git a/ext/src/dll/CMakeLists.txt b/ext/src/dll/CMakeLists.txt index 628a03abeb..ce8c2e305c 100644 --- a/ext/src/dll/CMakeLists.txt +++ b/ext/src/dll/CMakeLists.txt @@ -27,7 +27,7 @@ target_include_directories( $ ) -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) target_compile_definitions(opentelemetry_cpp PRIVATE WITH_OTLP_GRPC) target_link_libraries(opentelemetry_cpp PRIVATE opentelemetry_exporter_otlp_grpc) @@ -38,7 +38,7 @@ if(WITH_OTLP_GRPC) ) endif() -if(WITH_OTLP_HTTP) +if(OTELCPP_WITH_OTLP_HTTP) target_compile_definitions(opentelemetry_cpp PRIVATE WITH_OTLP_HTTP) target_link_libraries(opentelemetry_cpp PRIVATE opentelemetry_exporter_otlp_http) @@ -49,7 +49,7 @@ if(WITH_OTLP_HTTP) ) endif() -if(WITH_OTLP_FILE) +if(OTELCPP_WITH_OTLP_FILE) target_compile_definitions(opentelemetry_cpp PRIVATE WITH_OTLP_FILE) target_link_libraries(opentelemetry_cpp PRIVATE opentelemetry_exporter_otlp_file) @@ -70,7 +70,7 @@ target_include_directories( $ ) -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) target_link_libraries(opentelemetry_cpp PRIVATE opentelemetry_exporter_otlp_grpc_metrics) target_include_directories( @@ -80,7 +80,7 @@ if(WITH_OTLP_GRPC) ) endif() -if(WITH_OTLP_HTTP) +if(OTELCPP_WITH_OTLP_HTTP) target_link_libraries(opentelemetry_cpp PRIVATE opentelemetry_exporter_otlp_http_metric) target_include_directories( @@ -90,7 +90,7 @@ if(WITH_OTLP_HTTP) ) endif() -if(WITH_OTLP_FILE) +if(OTELCPP_WITH_OTLP_FILE) target_link_libraries(opentelemetry_cpp PRIVATE opentelemetry_exporter_otlp_file_metric) target_include_directories( @@ -110,7 +110,7 @@ target_include_directories( $ ) -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) target_link_libraries(opentelemetry_cpp PRIVATE opentelemetry_exporter_otlp_grpc_log) target_include_directories( @@ -120,7 +120,7 @@ if(WITH_OTLP_GRPC) ) endif() -if(WITH_OTLP_HTTP) +if(OTELCPP_WITH_OTLP_HTTP) target_link_libraries(opentelemetry_cpp PRIVATE opentelemetry_exporter_otlp_http_log) target_include_directories( @@ -130,7 +130,7 @@ if(WITH_OTLP_HTTP) ) endif() -if(WITH_OTLP_FILE) +if(OTELCPP_WITH_OTLP_FILE) target_link_libraries(opentelemetry_cpp PRIVATE opentelemetry_exporter_otlp_file_log) target_include_directories( diff --git a/ext/src/http/client/curl/CMakeLists.txt b/ext/src/http/client/curl/CMakeLists.txt index 9291dcdc37..b40b72151c 100644 --- a/ext/src/http/client/curl/CMakeLists.txt +++ b/ext/src/http/client/curl/CMakeLists.txt @@ -16,7 +16,7 @@ target_link_libraries( PUBLIC opentelemetry_ext PRIVATE CURL::libcurl) -if(WITH_CURL_LOGGING) +if(OTELCPP_WITH_CURL_LOGGING) target_compile_definitions(opentelemetry_http_client_curl PRIVATE ENABLE_CURL_LOGGING) endif() @@ -24,7 +24,7 @@ endif() target_compile_definitions(opentelemetry_http_client_curl PUBLIC ENABLE_HTTP_CLIENT_CURL) -if(WITH_OTLP_HTTP_COMPRESSION) +if(OTELCPP_WITH_OTLP_HTTP_COMPRESSION) target_link_libraries( opentelemetry_http_client_curl PUBLIC opentelemetry_ext diff --git a/ext/src/http/client/curl/http_client_curl.cc b/ext/src/http/client/curl/http_client_curl.cc index 3a25e82181..8227cf4f14 100644 --- a/ext/src/http/client/curl/http_client_curl.cc +++ b/ext/src/http/client/curl/http_client_curl.cc @@ -195,8 +195,8 @@ void Session::SendRequest( deflateEnd(&zs); #else OTEL_INTERNAL_LOG_ERROR( - "[HTTP Client Curl] Set WITH_OTLP_HTTP_COMPRESSION=ON to use gzip compression with the " - "OTLP HTTP Exporter"); + "[HTTP Client Curl] Set OTELCPP_WITH_OTLP_HTTP_COMPRESSION=ON to use gzip compression with " + "the OTLP HTTP Exporter"); #endif // ENABLE_OTLP_COMPRESSION_PREVIEW } diff --git a/ext/test/CMakeLists.txt b/ext/test/CMakeLists.txt index 4dabab3821..d182eaa293 100644 --- a/ext/test/CMakeLists.txt +++ b/ext/test/CMakeLists.txt @@ -2,6 +2,6 @@ # SPDX-License-Identifier: Apache-2.0 add_subdirectory(http) -if(BUILD_W3CTRACECONTEXT_TEST) +if(OTELCPP_BUILD_W3CTRACECONTEXT_TEST) add_subdirectory(w3c_tracecontext_http_test_server) endif() diff --git a/ext/test/http/CMakeLists.txt b/ext/test/http/CMakeLists.txt index b7707bd8c2..79f8bd4f00 100644 --- a/ext/test/http/CMakeLists.txt +++ b/ext/test/http/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(WITH_HTTP_CLIENT_CURL) +if(OTELCPP_WITH_HTTP_CLIENT_CURL) set(FILENAME curl_http_test) add_executable(${FILENAME} ${FILENAME}.cc) target_link_libraries( diff --git a/ext/test/w3c_tracecontext_http_test_server/CMakeLists.txt b/ext/test/w3c_tracecontext_http_test_server/CMakeLists.txt index 064b186037..3d757ba837 100644 --- a/ext/test/w3c_tracecontext_http_test_server/CMakeLists.txt +++ b/ext/test/w3c_tracecontext_http_test_server/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(WITH_HTTP_CLIENT_CURL) +if(OTELCPP_WITH_HTTP_CLIENT_CURL) add_executable(w3c_tracecontext_http_test_server main.cc) target_link_libraries( w3c_tracecontext_http_test_server diff --git a/functional/CMakeLists.txt b/functional/CMakeLists.txt index 66924fea8e..010bd1d2f7 100644 --- a/functional/CMakeLists.txt +++ b/functional/CMakeLists.txt @@ -1,6 +1,6 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(WITH_OTLP_HTTP) +if(OTELCPP_WITH_OTLP_HTTP) add_subdirectory(otlp) endif() diff --git a/functional/otlp/CMakeLists.txt b/functional/otlp/CMakeLists.txt index d675b43415..a04398e975 100644 --- a/functional/otlp/CMakeLists.txt +++ b/functional/otlp/CMakeLists.txt @@ -1,13 +1,13 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(WITH_OTLP_GRPC) +if(OTELCPP_WITH_OTLP_GRPC) add_executable(func_otlp_grpc func_grpc_main.cc) target_link_libraries(func_otlp_grpc ${CMAKE_THREAD_LIBS_INIT} opentelemetry_trace opentelemetry_exporter_otlp_grpc) endif() -if(WITH_OTLP_HTTP) +if(OTELCPP_WITH_OTLP_HTTP) add_executable(func_otlp_http func_http_main.cc) target_link_libraries(func_otlp_http ${CMAKE_THREAD_LIBS_INIT} opentelemetry_trace opentelemetry_exporter_otlp_http) diff --git a/install/test/cmake/api_only_test/CMakeLists.txt b/install/test/cmake/api_only_test/CMakeLists.txt index 2ec3e04cc1..bc62971985 100644 --- a/install/test/cmake/api_only_test/CMakeLists.txt +++ b/install/test/cmake/api_only_test/CMakeLists.txt @@ -1,9 +1,9 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -# This test covers the WITH_API_ONLY build option of opentelemetry-cpp. It -# ensures that no third-party libraries are included in the build and that only -# the opentelemetry-cpp::api target is created. +# This test covers the OTELCPP_WITH_API_ONLY build option of opentelemetry-cpp. +# It ensures that no third-party libraries are included in the build and that +# only the opentelemetry-cpp::api target is created. cmake_minimum_required(VERSION 3.16) @@ -17,20 +17,20 @@ if(NOT OPENTELEMETRY_CPP_SRC_DIR) endif() set(EXPECTED_OPTIONS_IN_CACHE - WITH_EXAMPLES - WITH_EXAMPLES_HTTP - BUILD_TESTING - WITH_FUNC_TESTS - WITH_BENCHMARK - WITH_OTLP_GRPC - WITH_OTLP_HTTP - WITH_OTLP_FILE - WITH_OTLP_HTTP_COMPRESSION - WITH_PROMETHEUS - WITH_ZIPKIN - WITH_ELASTICSEARCH - WITH_OPENTRACING - WITH_CONFIGURATION) + OTELCPP_WITH_EXAMPLES + OTELCPP_WITH_EXAMPLES_HTTP + OTELCPP_BUILD_TESTING + OTELCPP_WITH_FUNC_TESTS + OTELCPP_WITH_BENCHMARK + OTELCPP_WITH_OTLP_GRPC + OTELCPP_WITH_OTLP_HTTP + OTELCPP_WITH_OTLP_FILE + OTELCPP_WITH_OTLP_HTTP_COMPRESSION + OTELCPP_WITH_PROMETHEUS + OTELCPP_WITH_ZIPKIN + OTELCPP_WITH_ELASTICSEARCH + OTELCPP_WITH_OPENTRACING + OTELCPP_WITH_CONFIGURATION) function(check_options_in_cache) foreach(component IN LISTS EXPECTED_OPTIONS_IN_CACHE) @@ -47,10 +47,10 @@ endfunction() # the cache. check_options_in_cache() -# Turn on the WITH_API_ONLY build option and disable GSL. This must override any -# other options and not import third party targets. -set(WITH_API_ONLY ON) -set(WITH_GSL OFF) +# Turn on the OTELCPP_WITH_API_ONLY build option and disable GSL. This must +# override any other options and not import third party targets. +set(OTELCPP_WITH_API_ONLY ON) +set(OTELCPP_WITH_GSL OFF) # Add the opentelemetry-cpp source directory as a subdirectory to mimic # vendoring the library. @@ -80,14 +80,15 @@ foreach(target IN LISTS UNEXPECTED_TARGETS) if(TARGET ${target}) message( FATAL_ERROR - "Unexpected target ${target} was created in an WITH_API_ONLY build.") + "Unexpected target ${target} was created in an OTELCPP_WITH_API_ONLY build." + ) endif() endforeach() if(NOT TARGET opentelemetry-cpp::api) message( FATAL_ERROR - "opentelemetry-cpp::api target was not created in an WITH_API_ONLY build." + "opentelemetry-cpp::api target was not created in an OTELCPP_WITH_API_ONLY build." ) endif() @@ -100,7 +101,7 @@ FetchContent_MakeAvailable(googletest) message(STATUS "opentelemetry-cpp_SRC_DIR: ${OPENTELEMETRY_CPP_SRC_DIR}") -set(BUILD_TESTING ON) +set(OTELCPP_BUILD_TESTING ON) add_executable(api_only_test ${OPENTELEMETRY_CPP_SRC_DIR}/install/test/src/test_api.cc) diff --git a/install/test/cmake/examples_test/CMakeLists.txt b/install/test/cmake/examples_test/CMakeLists.txt index 798a9124f2..d13b0c8973 100644 --- a/install/test/cmake/examples_test/CMakeLists.txt +++ b/install/test/cmake/examples_test/CMakeLists.txt @@ -23,36 +23,36 @@ if(NOT OPENTELEMETRY_CPP_COMPONENTS_INSTALLED) endif() if("exporters_otlp_file" IN_LIST OPENTELEMETRY_CPP_COMPONENTS_INSTALLED) - set(WITH_OTLP_FILE ON) + set(OTELCPP_WITH_OTLP_FILE ON) endif() if("exporters_otlp_grpc" IN_LIST OPENTELEMETRY_CPP_COMPONENTS_INSTALLED) - set(WITH_OTLP_GRPC ON) + set(OTELCPP_WITH_OTLP_GRPC ON) endif() if("exporters_otlp_http" IN_LIST OPENTELEMETRY_CPP_COMPONENTS_INSTALLED) - set(WITH_OTLP_HTTP ON) + set(OTELCPP_WITH_OTLP_HTTP ON) endif() if("exporters_prometheus" IN_LIST OPENTELEMETRY_CPP_COMPONENTS_INSTALLED) - set(WITH_PROMETHEUS ON) + set(OTELCPP_WITH_PROMETHEUS ON) endif() if("exporters_zipkin" IN_LIST OPENTELEMETRY_CPP_COMPONENTS_INSTALLED) - set(WITH_ZIPKIN ON) + set(OTELCPP_WITH_ZIPKIN ON) endif() if("exporters_etw" IN_LIST OPENTELEMETRY_CPP_COMPONENTS_INSTALLED) - set(WITH_ETW ON) + set(OTELCPP_WITH_ETW ON) endif() if("ext_http_curl" IN_LIST OPENTELEMETRY_CPP_COMPONENTS_INSTALLED) - set(WITH_EXAMPLES_HTTP ON) - set(WITH_HTTP_CLIENT_CURL ON) + set(OTELCPP_WITH_EXAMPLES_HTTP ON) + set(OTELCPP_WITH_HTTP_CLIENT_CURL ON) endif() if("configuration" IN_LIST OPENTELEMETRY_CPP_COMPONENTS_INSTALLED) - set(WITH_CONFIGURATION ON) + set(OTELCPP_WITH_CONFIGURATION ON) endif() set(BUILD_TESTING ON) diff --git a/install/test/cmake/fetch_content_test/CMakeLists.txt b/install/test/cmake/fetch_content_test/CMakeLists.txt index 7385b51222..fad2c3af40 100644 --- a/install/test/cmake/fetch_content_test/CMakeLists.txt +++ b/install/test/cmake/fetch_content_test/CMakeLists.txt @@ -13,6 +13,10 @@ set(BUILD_TESTING ON CACHE BOOL "Build tests" FORCE) +# Exercise the opentelemetry-cpp subproject default independently from the +# parent project's standard BUILD_TESTING option. +unset(OTELCPP_BUILD_TESTING CACHE) + if(NOT DEFINED OPENTELEMETRY_CPP_SRC_DIR) message( FATAL_ERROR @@ -31,6 +35,21 @@ FetchContent_Declare( FetchContent_Declare(opentelemetry-cpp SOURCE_DIR ${OPENTELEMETRY_CPP_SRC_DIR}) FetchContent_MakeAvailable(googletest opentelemetry-cpp) +if(NOT BUILD_TESTING) + message(FATAL_ERROR "The parent project BUILD_TESTING option was disabled") +endif() + +if(NOT DEFINED OTELCPP_BUILD_TESTING) + message(FATAL_ERROR "OTELCPP_BUILD_TESTING was not defined") +endif() + +if(OTELCPP_BUILD_TESTING) + message( + FATAL_ERROR + "OTELCPP_BUILD_TESTING must default to OFF when opentelemetry-cpp is a subproject" + ) +endif() + if(NOT DEFINED OPENTELEMETRY_VERSION OR OPENTELEMETRY_VERSION VERSION_LESS_EQUAL 0.0.0) message( diff --git a/opentracing-shim/CMakeLists.txt b/opentracing-shim/CMakeLists.txt index 0d23dcf555..fb7cdaed21 100644 --- a/opentracing-shim/CMakeLists.txt +++ b/opentracing-shim/CMakeLists.txt @@ -39,7 +39,7 @@ otel_add_component( PATTERN "*.h") -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) foreach(testname propagation_test shim_utils_test span_shim_test span_context_shim_test tracer_shim_test) add_executable(${testname} "test/${testname}.cc") @@ -51,4 +51,4 @@ if(BUILD_TESTING) TEST_PREFIX opentracing_shim. TEST_LIST ${testname}) endforeach() -endif() # BUILD_TESTING +endif() # OTELCPP_BUILD_TESTING diff --git a/resource_detectors/CMakeLists.txt b/resource_detectors/CMakeLists.txt index 57bae8c732..166b97a2dd 100644 --- a/resource_detectors/CMakeLists.txt +++ b/resource_detectors/CMakeLists.txt @@ -34,6 +34,6 @@ otel_add_component( "resource_detectors/detail/*" EXCLUDE) -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_subdirectory(test) endif() diff --git a/sdk/CMakeLists.txt b/sdk/CMakeLists.txt index c433c560c2..0991f5354b 100644 --- a/sdk/CMakeLists.txt +++ b/sdk/CMakeLists.txt @@ -36,7 +36,7 @@ otel_add_component( "sdk/configuration/*.h" EXCLUDE) -if(WITH_CONFIGURATION) +if(OTELCPP_WITH_CONFIGURATION) otel_add_component( COMPONENT configuration @@ -51,6 +51,6 @@ if(WITH_CONFIGURATION) "sdk/configuration/*.h") endif() -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_subdirectory(test) endif() diff --git a/sdk/src/CMakeLists.txt b/sdk/src/CMakeLists.txt index c922726547..ca2306b011 100644 --- a/sdk/src/CMakeLists.txt +++ b/sdk/src/CMakeLists.txt @@ -8,6 +8,6 @@ add_subdirectory(logs) add_subdirectory(version) add_subdirectory(resource) -if(WITH_CONFIGURATION) +if(OTELCPP_WITH_CONFIGURATION) add_subdirectory(configuration) endif() diff --git a/sdk/src/common/CMakeLists.txt b/sdk/src/common/CMakeLists.txt index 99a04ceb3b..b4fe357f57 100644 --- a/sdk/src/common/CMakeLists.txt +++ b/sdk/src/common/CMakeLists.txt @@ -21,7 +21,7 @@ target_link_libraries( opentelemetry_common PUBLIC opentelemetry_api opentelemetry_sdk Threads::Threads) -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( common "OpenTelemetry SDK - Common" diff --git a/sdk/src/configuration/CMakeLists.txt b/sdk/src/configuration/CMakeLists.txt index 19447fb28d..d1eb943f4a 100644 --- a/sdk/src/configuration/CMakeLists.txt +++ b/sdk/src/configuration/CMakeLists.txt @@ -32,7 +32,7 @@ target_link_libraries( opentelemetry_metrics opentelemetry_logs PRIVATE ryml::ryml) -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( configuration "OpenTelemetry SDK - Configuration" "Components for exporting traces in the OpenTelemetry SDK." diff --git a/sdk/src/logs/CMakeLists.txt b/sdk/src/logs/CMakeLists.txt index 338fa8e8f1..a0a899f1ba 100644 --- a/sdk/src/logs/CMakeLists.txt +++ b/sdk/src/logs/CMakeLists.txt @@ -35,7 +35,7 @@ target_include_directories( opentelemetry_logs PUBLIC "$") -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( logs "OpenTelemetry SDK - Logs" "Components for exporting logs in the OpenTelemetry SDK." diff --git a/sdk/src/metrics/CMakeLists.txt b/sdk/src/metrics/CMakeLists.txt index 1ced671f3a..1af2ca33b4 100644 --- a/sdk/src/metrics/CMakeLists.txt +++ b/sdk/src/metrics/CMakeLists.txt @@ -47,7 +47,7 @@ target_include_directories( opentelemetry_metrics PUBLIC "$") -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( metrics "OpenTelemetry SDK - Metrics" "Components for exporting metrics in the OpenTelemetry SDK." diff --git a/sdk/src/resource/CMakeLists.txt b/sdk/src/resource/CMakeLists.txt index 48b647ec41..fa5a6c6281 100644 --- a/sdk/src/resource/CMakeLists.txt +++ b/sdk/src/resource/CMakeLists.txt @@ -12,7 +12,7 @@ target_include_directories( opentelemetry_resources PUBLIC "$") -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( resources "OpenTelemetry SDK - Resources" "Components for resource detection in the OpenTelemetry SDK." diff --git a/sdk/src/trace/CMakeLists.txt b/sdk/src/trace/CMakeLists.txt index ebd1aebf06..4e7517041c 100644 --- a/sdk/src/trace/CMakeLists.txt +++ b/sdk/src/trace/CMakeLists.txt @@ -44,7 +44,7 @@ target_include_directories( opentelemetry_trace PUBLIC "$") -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( trace "OpenTelemetry SDK - Trace" "Components for exporting traces in the OpenTelemetry SDK." diff --git a/sdk/src/version/CMakeLists.txt b/sdk/src/version/CMakeLists.txt index aae7f51cf0..ca04bb4f73 100644 --- a/sdk/src/version/CMakeLists.txt +++ b/sdk/src/version/CMakeLists.txt @@ -13,7 +13,7 @@ target_include_directories( opentelemetry_version PUBLIC "$") -if(OPENTELEMETRY_INSTALL) +if(OTELCPP_INSTALL) opentelemetry_add_pkgconfig( version "OpenTelemetry SDK - Version" "A library exporting version information for OpenTelemetry." diff --git a/sdk/test/CMakeLists.txt b/sdk/test/CMakeLists.txt index dd957fae1f..e05c472e50 100644 --- a/sdk/test/CMakeLists.txt +++ b/sdk/test/CMakeLists.txt @@ -8,6 +8,6 @@ add_subdirectory(logs) add_subdirectory(resource) add_subdirectory(instrumentationscope) -if(WITH_CONFIGURATION) +if(OTELCPP_WITH_CONFIGURATION) add_subdirectory(configuration) endif() diff --git a/sdk/test/common/CMakeLists.txt b/sdk/test/common/CMakeLists.txt index 2ee16bfa3a..ae68bd720f 100644 --- a/sdk/test/common/CMakeLists.txt +++ b/sdk/test/common/CMakeLists.txt @@ -38,7 +38,7 @@ add_executable(random_fork_test random_fork_test.cc) target_link_libraries(random_fork_test opentelemetry_common) add_test(random_fork_test random_fork_test) -if(WITH_BENCHMARK) +if(OTELCPP_WITH_BENCHMARK) add_executable(base64_benchmark base64_benchmark.cc) target_link_libraries(base64_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common) diff --git a/sdk/test/metrics/CMakeLists.txt b/sdk/test/metrics/CMakeLists.txt index 0dbae20866..201cb2cbfd 100644 --- a/sdk/test/metrics/CMakeLists.txt +++ b/sdk/test/metrics/CMakeLists.txt @@ -63,7 +63,7 @@ if(OPENTELEMETRY_ABI_VERSION_NO GREATER_EQUAL 2) TEST_PREFIX metrics. TEST_LIST multi_observer_test) - if(WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW) + if(OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW) add_executable(bound_sync_instruments_test bound_sync_instruments_test.cc) target_link_libraries( bound_sync_instruments_test @@ -77,7 +77,7 @@ if(OPENTELEMETRY_ABI_VERSION_NO GREATER_EQUAL 2) endif() endif() -if(WITH_BENCHMARK) +if(OTELCPP_WITH_BENCHMARK) add_executable(attributes_processor_benchmark attributes_processor_benchmark.cc) target_link_libraries(attributes_processor_benchmark benchmark::benchmark @@ -111,6 +111,6 @@ if(WITH_BENCHMARK) metrics_common_test_utils opentelemetry_common opentelemetry_resources) endif() -if(WITH_METRICS_EXEMPLAR_PREVIEW) +if(OTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW) add_subdirectory(exemplar) endif() diff --git a/sdk/test/trace/CMakeLists.txt b/sdk/test/trace/CMakeLists.txt index e299deb502..0663cb7f77 100644 --- a/sdk/test/trace/CMakeLists.txt +++ b/sdk/test/trace/CMakeLists.txt @@ -30,7 +30,7 @@ foreach( TEST_LIST ${testname}) endforeach() -if(WITH_BENCHMARK) +if(OTELCPP_WITH_BENCHMARK) add_executable(sampler_benchmark sampler_benchmark.cc) target_link_libraries( sampler_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT} diff --git a/test_common/CMakeLists.txt b/test_common/CMakeLists.txt index 5e939bae2e..3bc85f0582 100644 --- a/test_common/CMakeLists.txt +++ b/test_common/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_library(opentelemetry_test_common INTERFACE) target_include_directories( opentelemetry_test_common diff --git a/test_common/cmake/all-options-abiv1-preview.cmake b/test_common/cmake/all-options-abiv1-preview.cmake index 16c21c29d1..3c7f0538fa 100644 --- a/test_common/cmake/all-options-abiv1-preview.cmake +++ b/test_common/cmake/all-options-abiv1-preview.cmake @@ -3,8 +3,8 @@ # Enable all options with ABI V1 including preview features -set(WITH_ABI_VERSION_1 ON CACHE BOOL "" FORCE) -set(WITH_ABI_VERSION_2 OFF CACHE BOOL "" FORCE) +set(OTELCPP_WITH_ABI_VERSION_1 ON CACHE BOOL "" FORCE) +set(OTELCPP_WITH_ABI_VERSION_2 OFF CACHE BOOL "" FORCE) set(ENABLE_PREVIEW ON) include(${CMAKE_CURRENT_LIST_DIR}/all-options.cmake) diff --git a/test_common/cmake/all-options-abiv1.cmake b/test_common/cmake/all-options-abiv1.cmake index 212faf4866..901a9c9432 100644 --- a/test_common/cmake/all-options-abiv1.cmake +++ b/test_common/cmake/all-options-abiv1.cmake @@ -3,8 +3,8 @@ # Enable all options with ABI V1 except preview features -set(WITH_ABI_VERSION_1 ON CACHE BOOL "" FORCE) -set(WITH_ABI_VERSION_2 OFF CACHE BOOL "" FORCE) +set(OTELCPP_WITH_ABI_VERSION_1 ON CACHE BOOL "" FORCE) +set(OTELCPP_WITH_ABI_VERSION_2 OFF CACHE BOOL "" FORCE) set(ENABLE_PREVIEW OFF) include(${CMAKE_CURRENT_LIST_DIR}/all-options.cmake) diff --git a/test_common/cmake/all-options-abiv2-preview.cmake b/test_common/cmake/all-options-abiv2-preview.cmake index 984524a4ae..0de2c88a84 100644 --- a/test_common/cmake/all-options-abiv2-preview.cmake +++ b/test_common/cmake/all-options-abiv2-preview.cmake @@ -3,8 +3,8 @@ # Enable all options with ABI V2 including preview features -set(WITH_ABI_VERSION_1 OFF CACHE BOOL "" FORCE) -set(WITH_ABI_VERSION_2 ON CACHE BOOL "" FORCE) +set(OTELCPP_WITH_ABI_VERSION_1 OFF CACHE BOOL "" FORCE) +set(OTELCPP_WITH_ABI_VERSION_2 ON CACHE BOOL "" FORCE) set(ENABLE_PREVIEW ON) include(${CMAKE_CURRENT_LIST_DIR}/all-options.cmake) diff --git a/test_common/cmake/all-options-abiv2.cmake b/test_common/cmake/all-options-abiv2.cmake index 5210b4f659..4e49135dfd 100644 --- a/test_common/cmake/all-options-abiv2.cmake +++ b/test_common/cmake/all-options-abiv2.cmake @@ -3,8 +3,8 @@ # Enable all options with ABI V2 except preview features -set(WITH_ABI_VERSION_1 OFF CACHE BOOL "" FORCE) -set(WITH_ABI_VERSION_2 ON CACHE BOOL "" FORCE) +set(OTELCPP_WITH_ABI_VERSION_1 OFF CACHE BOOL "" FORCE) +set(OTELCPP_WITH_ABI_VERSION_2 ON CACHE BOOL "" FORCE) set(ENABLE_PREVIEW OFF) include(${CMAKE_CURRENT_LIST_DIR}/all-options.cmake) diff --git a/test_common/cmake/component-options.cmake b/test_common/cmake/component-options.cmake index 489f84596b..3547442d1c 100644 --- a/test_common/cmake/component-options.cmake +++ b/test_common/cmake/component-options.cmake @@ -7,18 +7,18 @@ if(NOT DEFINED ENABLE_COMPONENTS) set(ENABLE_COMPONENTS ON) endif() -set(WITH_OTLP_GRPC ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) -set(WITH_OTLP_HTTP ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) -set(WITH_OTLP_FILE ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_OTLP_GRPC ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_OTLP_HTTP ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_OTLP_FILE ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) -set(WITH_PROMETHEUS ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) -set(WITH_ZIPKIN ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) -set(WITH_ELASTICSEARCH ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_PROMETHEUS ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_ZIPKIN ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_ELASTICSEARCH ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) if(WIN32) - set(WITH_ETW ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) + set(OTELCPP_WITH_ETW ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) endif() -if(WITH_ABI_VERSION_1) - set(WITH_OPENTRACING ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) +if(OTELCPP_WITH_ABI_VERSION_1) + set(OTELCPP_WITH_OPENTRACING ${ENABLE_COMPONENTS} CACHE BOOL "" FORCE) endif() diff --git a/test_common/cmake/example-options.cmake b/test_common/cmake/example-options.cmake index 4249f59531..7561e9ba11 100644 --- a/test_common/cmake/example-options.cmake +++ b/test_common/cmake/example-options.cmake @@ -7,5 +7,5 @@ if(NOT DEFINED ENABLE_EXAMPLES) set(ENABLE_EXAMPLES ON) endif() -set(WITH_EXAMPLES ${ENABLE_EXAMPLES} CACHE BOOL "" FORCE) -set(WITH_EXAMPLES_HTTP ${ENABLE_EXAMPLES} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_EXAMPLES ${ENABLE_EXAMPLES} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_EXAMPLES_HTTP ${ENABLE_EXAMPLES} CACHE BOOL "" FORCE) diff --git a/test_common/cmake/preview-options.cmake b/test_common/cmake/preview-options.cmake index 04fe4aab11..cf3534107d 100644 --- a/test_common/cmake/preview-options.cmake +++ b/test_common/cmake/preview-options.cmake @@ -7,16 +7,16 @@ if(NOT DEFINED ENABLE_PREVIEW) set(ENABLE_PREVIEW ON) endif() -set(WITH_METRICS_EXEMPLAR_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) -set(WITH_ASYNC_EXPORT_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) -set(WITH_THREAD_INSTRUMENTATION_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) -set(WITH_OTLP_GRPC_SSL_MTLS_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) -set(WITH_OTLP_GRPC_CREDENTIAL_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) -set(WITH_OTLP_RETRY_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) -set(WITH_RESOURCE_DETECTORS_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) -set(WITH_OTLP_HTTP_COMPRESSION ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) -set(WITH_CURL_LOGGING ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) -set(WITH_CONFIGURATION ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) -if(WITH_ABI_VERSION_2) - set(WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_ASYNC_EXPORT_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_THREAD_INSTRUMENTATION_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_OTLP_GRPC_SSL_MTLS_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_OTLP_GRPC_CREDENTIAL_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_OTLP_RETRY_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_RESOURCE_DETECTORS_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_OTLP_HTTP_COMPRESSION ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_CURL_LOGGING ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_CONFIGURATION ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) +if(OTELCPP_WITH_ABI_VERSION_2) + set(OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW ${ENABLE_PREVIEW} CACHE BOOL "" FORCE) endif() diff --git a/test_common/cmake/testing-options.cmake b/test_common/cmake/testing-options.cmake index fc64493a18..b491e4f0a5 100644 --- a/test_common/cmake/testing-options.cmake +++ b/test_common/cmake/testing-options.cmake @@ -7,7 +7,7 @@ if(NOT DEFINED ENABLE_TESTS) set(ENABLE_TESTS ON) endif() -set(BUILD_TESTING ${ENABLE_TESTS} CACHE BOOL "" FORCE) -set(BUILD_W3CTRACECONTEXT_TEST ${ENABLE_TESTS} CACHE BOOL "" FORCE) -set(WITH_BENCHMARK ${ENABLE_TESTS} CACHE BOOL "" FORCE) -set(WITH_FUNC_TESTS ${ENABLE_TESTS} CACHE BOOL "" FORCE) +set(OTELCPP_BUILD_TESTING ${ENABLE_TESTS} CACHE BOOL "" FORCE) +set(OTELCPP_BUILD_W3CTRACECONTEXT_TEST ${ENABLE_TESTS} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_BENCHMARK ${ENABLE_TESTS} CACHE BOOL "" FORCE) +set(OTELCPP_WITH_FUNC_TESTS ${ENABLE_TESTS} CACHE BOOL "" FORCE) diff --git a/test_common/src/CMakeLists.txt b/test_common/src/CMakeLists.txt index b4243cafbd..c2679e305b 100644 --- a/test_common/src/CMakeLists.txt +++ b/test_common/src/CMakeLists.txt @@ -1,6 +1,6 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(BUILD_TESTING) +if(OTELCPP_BUILD_TESTING) add_subdirectory(http/client/nosend) endif() diff --git a/test_common/src/http/client/nosend/CMakeLists.txt b/test_common/src/http/client/nosend/CMakeLists.txt index 3f2b4c82bd..6e39506c62 100644 --- a/test_common/src/http/client/nosend/CMakeLists.txt +++ b/test_common/src/http/client/nosend/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(${BUILD_TESTING}) +if(${OTELCPP_BUILD_TESTING}) add_library(opentelemetry_http_client_nosend http_client_test_factory.cc http_client_nosend.cc) diff --git a/tools/build.cmd b/tools/build.cmd index ad18ba2a9a..e08955d1cc 100644 --- a/tools/build.cmd +++ b/tools/build.cmd @@ -92,7 +92,7 @@ REM - stl - build with Standard Template Library REM ########################################################################################## REM Build with nostd implementation. REM ########################################################################################## -set CONFIG=-DWITH_STL:BOOL=OFF %* +set CONFIG=-DOTELCPP_WITH_STL:BOOL=OFF %* set "OUTDIR=%ROOT%\out\%BUILDTOOLS_VERSION%\nostd" call :build_config @@ -100,7 +100,7 @@ REM ############################################################################ REM Build with STL implementation. This option does not yield benefits for vs2015 build. REM ########################################################################################## if "%BUILDTOOLS_VERSION%" neq "vs2015" ( - set CONFIG=-DWITH_STL:BOOL=ON %* + set CONFIG=-DOTELCPP_WITH_STL:BOOL=ON %* set "OUTDIR=%ROOT%\out\%BUILDTOOLS_VERSION%\stl" call :build_config ) diff --git a/tools/ports/opentelemetry/portfile.cmake b/tools/ports/opentelemetry/portfile.cmake index 23a8b87994..199be13147 100644 --- a/tools/ports/opentelemetry/portfile.cmake +++ b/tools/ports/opentelemetry/portfile.cmake @@ -47,7 +47,7 @@ if (UNIX) # Custom options could be passed to COMMAND, e.g. # vcpkg_execute_build_process( - # COMMAND ${SOURCE_PATH}/tools/build.sh nostd-vcpkg -DBUILD_TESTING=OFF + # COMMAND ${SOURCE_PATH}/tools/build.sh nostd-vcpkg -DOTELCPP_BUILD_TESTING=OFF # ... # vcpkg_execute_build_process( From e09ad744737a2f716f7faa89a8026a9790308696 Mon Sep 17 00:00:00 2001 From: owent Date: Mon, 20 Jul 2026 15:34:29 +0800 Subject: [PATCH 2/6] Fixes OTELCPP_BUILD_TESTING usage in http nosend client --- test_common/src/http/client/nosend/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_common/src/http/client/nosend/CMakeLists.txt b/test_common/src/http/client/nosend/CMakeLists.txt index 6e39506c62..39d0582746 100644 --- a/test_common/src/http/client/nosend/CMakeLists.txt +++ b/test_common/src/http/client/nosend/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(${OTELCPP_BUILD_TESTING}) +if(OTELCPP_BUILD_TESTING) add_library(opentelemetry_http_client_nosend http_client_test_factory.cc http_client_nosend.cc) From 9c4255f4cff849e75467e4708c98029fd87502fb Mon Sep 17 00:00:00 2001 From: owent Date: Mon, 20 Jul 2026 18:04:37 +0800 Subject: [PATCH 3/6] Add more export symbols --- ext/src/dll/input.src | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ext/src/dll/input.src b/ext/src/dll/input.src index 9d6a529c5c..8fc50d3a0c 100644 --- a/ext/src/dll/input.src +++ b/ext/src/dll/input.src @@ -4,15 +4,20 @@ // clang-format off Create@OStreamSpanExporterFactory@trace@exporter@v1@opentelemetry Create@SimpleSpanProcessorFactory@trace@sdk@v1@opentelemetry +Create@BatchSpanProcessorFactory@trace@sdk@v1@opentelemetry +BatchSpanProcessorOptions@trace@sdk@v1@opentelemetry Create@TracerProviderFactory@trace@sdk@v1@opentelemetry Create@LoggerProviderFactory@logs@sdk@v1@opentelemetry Create@BatchLogRecordProcessorFactory@logs@sdk@v1@opentelemetry +BatchLogRecordProcessorOptions@logs@sdk@v1@opentelemetry Create@SimpleLogRecordProcessorFactory@logs@sdk@v1@opentelemetry Create@MultiLogRecordProcessorFactory@logs@sdk@v1@opentelemetry TracerProvider@trace@sdk@v1@opentelemetry ForceFlush@TracerProvider@trace@sdk@v1@opentelemetry +Shutdown@TracerProvider@trace@sdk@v1@opentelemetry LoggerProvider@logs@sdk@v1@opentelemetry ForceFlush@LoggerProvider@logs@sdk@v1@opentelemetry +Shutdown@LoggerProvider@logs@sdk@v1@opentelemetry OStreamLogRecordExporter@logs@exporter@v1@opentelemetry Create@OStreamMetricExporterFactory@metrics@exporter@v1@opentelemetry Create@PeriodicExportingMetricReaderFactory@metrics@sdk@v1@opentelemetry @@ -25,10 +30,13 @@ Create@InstrumentSelectorFactory@metrics@sdk@v1@opentelemetry AddMetricReader@MeterContext@metrics@sdk@v1@opentelemetry AddMetricReader@MeterProvider@metrics@sdk@v1@opentelemetry MeterProvider@metrics@sdk@v1@opentelemetry +ForceFlush@MeterProvider@metrics@sdk@v1@opentelemetry +Shutdown@MeterProvider@metrics@sdk@v1@opentelemetry AddView@MeterProvider@metrics@sdk@v1@opentelemetry SetTracerProvider@Provider@trace@sdk@v1@opentelemetry SetMeterProvider@Provider@metrics@sdk@v1@opentelemetry SetLoggerProvider@Provider@logs@sdk@v1@opentelemetry +SetLogLevel@GlobalLogHandler@internal_log@common@sdk@v1@opentelemetry #if defined(WITH_OTLP_GRPC) || defined(WITH_OTLP_HTTP) GetOtlpDefaultTracesTimeout@otlp@exporter@v1@opentelemetry @@ -46,6 +54,7 @@ GetOtlpDefaultLogsSslCertificateString@otlp@exporter@v1@opentelemetry #endif // defined(WITH_OTLP_GRPC) || defined(WITH_OTLP_HTTP) #if defined(WITH_OTLP_GRPC) +Create@OtlpGrpcClientFactory@otlp@exporter@v1@opentelemetry Create@OtlpGrpcExporterFactory@otlp@exporter@v1@opentelemetry Create@OtlpGrpcMetricExporterFactory@otlp@exporter@v1@opentelemetry Create@OtlpGrpcLogRecordExporterFactory@otlp@exporter@v1@opentelemetry @@ -67,6 +76,9 @@ Create@OtlpHttpLogRecordExporterFactory@otlp@exporter@v1@opentelemetry OtlpHttpExporterOptions@otlp@exporter@v1@opentelemetry OtlpHttpMetricExporterOptions@otlp@exporter@v1@opentelemetry OtlpHttpLogRecordExporterOptions@otlp@exporter@v1@opentelemetry +OtlpHttpExporterRuntimeOptions@otlp@exporter@v1@opentelemetry +OtlpHttpMetricExporterRuntimeOptions@otlp@exporter@v1@opentelemetry +OtlpHttpLogRecordExporterRuntimeOptions@otlp@exporter@v1@opentelemetry GetOtlpDefaultHttpTracesEndpoint@otlp@exporter@v1@opentelemetry GetOtlpDefaultHttpMetricsEndpoint@otlp@exporter@v1@opentelemetry GetOtlpDefaultHttpLogsEndpoint@otlp@exporter@v1@opentelemetry From 1905c018e904613a8ed5f0624b6e4526fae58cba Mon Sep 17 00:00:00 2001 From: owent Date: Mon, 20 Jul 2026 20:51:11 +0800 Subject: [PATCH 4/6] Fixes dll PATH --- ci/do_ci.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/do_ci.ps1 b/ci/do_ci.ps1 index 88c47247a3..2b88396e5c 100644 --- a/ci/do_ci.ps1 +++ b/ci/do_ci.ps1 @@ -290,7 +290,7 @@ switch ($action) { if ($exit -ne 0) { exit $exit } - $env:PATH = FindAndMergeDllPath "$BUILD_DIR\ext\src\dll\Debug" + $env:PATH = FindAndMergeDllPath "$BUILD_DIR\ext\src\dll\Debug", "$BUILD_DIR\Debug" ctest -C Debug $exit = $LASTEXITCODE if ($exit -ne 0) { From 953ec4b9e3fdb703cc1486446316e8355c061341 Mon Sep 17 00:00:00 2001 From: owent Date: Tue, 21 Jul 2026 21:20:54 +0800 Subject: [PATCH 5/6] OTELCPP_WITH_STL should be string Using a map to maintain legacy options Add legacy option checking Fixes zlib dep --- .github/workflows/ci.yml | 38 ++++++++ ci/do_ci.ps1 | 32 +++++++ ci/do_ci.sh | 188 +++++++++++++++++++++++++++++++++++++++ cmake/tools.cmake | 32 +++---- tools/build.cmd | 4 +- 5 files changed, 277 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 80ad535bd3..dbbab8b172 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,6 +75,44 @@ jobs: run: | ./ci/do_ci.sh cmake.api_only.test + cmake_legacy_options_test: + name: CMake legacy option names compatibility test + runs-on: ubuntu-24.04 + env: + CXX_STANDARD: '17' + steps: + - name: Harden the runner (Audit all outbound calls) + uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 + with: + egress-policy: audit + + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + submodules: 'recursive' + - name: setup + run: | + sudo -E ./ci/setup_ci_environment.sh + sudo -E apt-get install -y zlib1g-dev libcurl4-openssl-dev + - name: install dependencies + run: | + sudo -E ./ci/install_thirdparty.sh --install-dir /usr/local --tags-file ./install/cmake/third_party_stable --packages "zlib;abseil;protobuf;grpc;ryml" + - name: run cmake legacy options test + run: | + ./ci/do_ci.sh cmake.legacy_options.test + + cmake_msvc_legacy_options_test: + name: CMake msvc legacy option names compatibility test + runs-on: windows-latest + steps: + - name: Harden the runner (Audit all outbound calls) + uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 + with: + egress-policy: audit + + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - name: run cmake legacy options test + run: ./ci/do_ci.ps1 cmake.legacy_options.test + cmake_fetch_content_test: name: CMake FetchContent usage with opentelemetry-cpp runs-on: ubuntu-24.04 diff --git a/ci/do_ci.ps1 b/ci/do_ci.ps1 index 2b88396e5c..c0092734f2 100644 --- a/ci/do_ci.ps1 +++ b/ci/do_ci.ps1 @@ -222,6 +222,38 @@ switch ($action) { exit $exit } } + "cmake.legacy_options.test" { + # Ensure the legacy (pre "OTELCPP_" prefix) CMake option names still drive + # the new OTELCPP_* options for the Windows-only options. See + # https://github.com/open-telemetry/opentelemetry-cpp/issues/4184 + cd "$BUILD_DIR" + Remove-Item -Recurse -Force "$BUILD_DIR\*" + # cmake prints the deprecation warnings to stderr; keep them from becoming + # terminating errors under $ErrorActionPreference = "Stop". + $saved_error_action_preference = $ErrorActionPreference + $ErrorActionPreference = "Continue" + cmake $SRC_DIR ` + -DOTELCPP_BUILD_TESTING=OFF ` + -DWITH_ETW=OFF ` + -DOPENTELEMETRY_BUILD_DLL=ON 2>&1 | Tee-Object -FilePath configure.log + $exit = $LASTEXITCODE + $ErrorActionPreference = $saved_error_action_preference + if ($exit -ne 0) { + exit $exit + } + $configure_log = Get-Content configure.log -Raw + foreach ($legacy_option in @("WITH_ETW", "OPENTELEMETRY_BUILD_DLL")) { + if ($configure_log -notmatch "CMake option $legacy_option is deprecated") { + Write-Error "missing deprecation warning for option $legacy_option" + } + } + $cache = Get-Content CMakeCache.txt + foreach ($expected_entry in @("OTELCPP_WITH_ETW:BOOL=OFF", "OTELCPP_BUILD_DLL:BOOL=ON")) { + if (-not ($cache -contains $expected_entry)) { + Write-Error "expected CMakeCache.txt entry missing: $expected_entry" + } + } + } "cmake.with_async_export.test" { cd "$BUILD_DIR" cmake $SRC_DIR ` diff --git a/ci/do_ci.sh b/ci/do_ci.sh index 50329e8016..2a5d5f3c82 100755 --- a/ci/do_ci.sh +++ b/ci/do_ci.sh @@ -549,6 +549,194 @@ elif [[ "$1" == "cmake.api_only.test" ]]; then cmake --build . "${CMAKE_BUILD_ARGS[@]}" ctest --output-on-failure exit 0 +elif [[ "$1" == "cmake.legacy_options.test" ]]; then + # Ensure the legacy (pre "OTELCPP_" prefix) CMake option names still drive + # the new OTELCPP_* options with unchanged semantics. See + # https://github.com/open-telemetry/opentelemetry-cpp/issues/4184 + # + # Pass 1: only the legacy names are given. Every legacy name must trigger a + # deprecation warning, and the legacy values must be resolved into the new + # OTELCPP_* cache entries. All values differ from the documented defaults so + # that propagation cannot succeed by accident. + cd "${BUILD_DIR}" + rm -rf * + cmake "${CMAKE_OPTIONS[@]}" \ + -DOTELCPP_BUILD_TESTING=OFF \ + -DWITH_ABI_VERSION_1=OFF \ + -DWITH_ABI_VERSION_2=ON \ + -DWITH_METRICS_BOUND_INSTRUMENTS_PREVIEW=ON \ + -DWITH_CONFIGURATION=ON \ + -DWITH_NO_DEPRECATED_CODE=ON \ + -DWITH_STL=ON \ + -DWITH_GSL=ON \ + -DWITH_OTLP_RETRY_PREVIEW=OFF \ + -DWITH_OTLP_GRPC_SSL_MTLS_PREVIEW=OFF \ + -DWITH_OTLP_GRPC_CREDENTIAL_PREVIEW=ON \ + -DWITH_OTLP_GRPC=ON \ + -DWITH_OTLP_HTTP=ON \ + -DWITH_OTLP_FILE=ON \ + -DWITH_OTLP_HTTP_COMPRESSION=ON \ + -DWITH_OTLP_UTF8_VALIDITY=OFF \ + -DWITH_CURL_LOGGING=ON \ + -DWITH_ZIPKIN=ON \ + -DWITH_PROMETHEUS=ON \ + -DWITH_ELASTICSEARCH=ON \ + -DWITH_NO_GETENV=ON \ + -DWITH_BENCHMARK=ON \ + -DWITH_OPENTRACING=ON \ + -DWITH_EXAMPLES=OFF \ + -DWITH_FUNC_TESTS=OFF \ + -DWITH_ASYNC_EXPORT_PREVIEW=ON \ + -DWITH_METRICS_EXEMPLAR_PREVIEW=ON \ + -DWITH_THREAD_INSTRUMENTATION_PREVIEW=ON \ + -DWITH_RESOURCE_DETECTORS_PREVIEW=ON \ + -DWITH_HTTP_CLIENT_CURL=OFF \ + -DOPENTELEMETRY_INSTALL=ON \ + -DBUILD_PACKAGE=ON \ + -DTARBALL=ON \ + -DBUILD_W3CTRACECONTEXT_TEST=ON \ + -DOPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS=ON \ + "${SRC_DIR}" 2>&1 | tee configure.log + + # Each legacy option name must be reported as deprecated. + for legacy_option in \ + WITH_ABI_VERSION_1 \ + WITH_ABI_VERSION_2 \ + WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW \ + WITH_CONFIGURATION \ + WITH_NO_DEPRECATED_CODE \ + WITH_STL \ + WITH_GSL \ + WITH_OTLP_RETRY_PREVIEW \ + WITH_OTLP_GRPC_SSL_MTLS_PREVIEW \ + WITH_OTLP_GRPC_CREDENTIAL_PREVIEW \ + WITH_OTLP_GRPC \ + WITH_OTLP_HTTP \ + WITH_OTLP_FILE \ + WITH_OTLP_HTTP_COMPRESSION \ + WITH_OTLP_UTF8_VALIDITY \ + WITH_CURL_LOGGING \ + WITH_ZIPKIN \ + WITH_PROMETHEUS \ + WITH_ELASTICSEARCH \ + WITH_NO_GETENV \ + WITH_BENCHMARK \ + WITH_OPENTRACING \ + WITH_EXAMPLES \ + WITH_FUNC_TESTS \ + WITH_ASYNC_EXPORT_PREVIEW \ + WITH_METRICS_EXEMPLAR_PREVIEW \ + WITH_THREAD_INSTRUMENTATION_PREVIEW \ + WITH_RESOURCE_DETECTORS_PREVIEW \ + WITH_HTTP_CLIENT_CURL \ + OPENTELEMETRY_INSTALL \ + BUILD_PACKAGE \ + TARBALL \ + BUILD_W3CTRACECONTEXT_TEST \ + OPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS; do + grep -q "CMake option ${legacy_option} is deprecated" configure.log || { + echo "ERROR: missing deprecation warning for option ${legacy_option}" + exit 1 + } + done + + # The legacy values must be resolved into the new OTELCPP_* cache entries. + for expected_entry in \ + "OTELCPP_WITH_ABI_VERSION_1:BOOL=OFF" \ + "OTELCPP_WITH_ABI_VERSION_2:BOOL=ON" \ + "OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW:BOOL=ON" \ + "OTELCPP_WITH_CONFIGURATION:BOOL=ON" \ + "OTELCPP_WITH_NO_DEPRECATED_CODE:BOOL=ON" \ + "OTELCPP_WITH_STL:STRING=ON" \ + "OTELCPP_WITH_GSL:BOOL=ON" \ + "OTELCPP_WITH_OTLP_RETRY_PREVIEW:BOOL=OFF" \ + "OTELCPP_WITH_OTLP_GRPC_SSL_MTLS_PREVIEW:BOOL=OFF" \ + "OTELCPP_WITH_OTLP_GRPC_CREDENTIAL_PREVIEW:BOOL=ON" \ + "OTELCPP_WITH_OTLP_GRPC:BOOL=ON" \ + "OTELCPP_WITH_OTLP_HTTP:BOOL=ON" \ + "OTELCPP_WITH_OTLP_FILE:BOOL=ON" \ + "OTELCPP_WITH_OTLP_HTTP_COMPRESSION:BOOL=ON" \ + "OTELCPP_WITH_OTLP_UTF8_VALIDITY:BOOL=OFF" \ + "OTELCPP_WITH_CURL_LOGGING:BOOL=ON" \ + "OTELCPP_WITH_ZIPKIN:BOOL=ON" \ + "OTELCPP_WITH_PROMETHEUS:BOOL=ON" \ + "OTELCPP_WITH_ELASTICSEARCH:BOOL=ON" \ + "OTELCPP_WITH_NO_GETENV:BOOL=ON" \ + "OTELCPP_WITH_BENCHMARK:BOOL=ON" \ + "OTELCPP_WITH_OPENTRACING:BOOL=ON" \ + "OTELCPP_WITH_EXAMPLES:BOOL=OFF" \ + "OTELCPP_WITH_FUNC_TESTS:BOOL=OFF" \ + "OTELCPP_WITH_ASYNC_EXPORT_PREVIEW:BOOL=ON" \ + "OTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW:BOOL=ON" \ + "OTELCPP_WITH_THREAD_INSTRUMENTATION_PREVIEW:BOOL=ON" \ + "OTELCPP_WITH_RESOURCE_DETECTORS_PREVIEW:BOOL=ON" \ + "OTELCPP_WITH_HTTP_CLIENT_CURL:BOOL=OFF" \ + "OTELCPP_INSTALL:BOOL=ON" \ + "OTELCPP_BUILD_PACKAGE:BOOL=ON" \ + "OTELCPP_TARBALL:BOOL=ON" \ + "OTELCPP_BUILD_W3CTRACECONTEXT_TEST:BOOL=ON" \ + "OTELCPP_SKIP_DYNAMIC_LOADING_TESTS:BOOL=ON"; do + grep -q "^${expected_entry}$" CMakeCache.txt || { + echo "ERROR: expected CMakeCache.txt entry missing: ${expected_entry}" + exit 1 + } + done + + # Pass 2: when both names are provided, the new OTELCPP_* name takes + # precedence over the legacy one. + mkdir -p precedence + cd precedence + cmake "${CMAKE_OPTIONS[@]}" \ + -DOTELCPP_BUILD_TESTING=OFF \ + -DWITH_EXAMPLES=ON \ + -DOTELCPP_WITH_EXAMPLES=OFF \ + -DWITH_STL=ON \ + -DOTELCPP_WITH_STL=OFF \ + -DOPENTELEMETRY_INSTALL=OFF \ + -DOTELCPP_INSTALL=ON \ + "${SRC_DIR}" + for expected_entry in \ + "OTELCPP_WITH_EXAMPLES:BOOL=OFF" \ + "OTELCPP_WITH_STL:STRING=OFF" \ + "OTELCPP_INSTALL:BOOL=ON"; do + grep -q "^${expected_entry}$" CMakeCache.txt || { + echo "ERROR: expected CMakeCache.txt entry missing: ${expected_entry}" + exit 1 + } + done + + # Pass 3: options that require a dedicated configuration. + # WITH_API_ONLY disables most of the build, WITH_EXAMPLES_HTTP requires + # WITH_EXAMPLES=ON, and OTELCPP_INSTALL=OFF is the non-default value that + # could not be combined with TARBALL in pass 1. + mkdir -p ../extra + cd ../extra + cmake "${CMAKE_OPTIONS[@]}" \ + -DOTELCPP_BUILD_TESTING=OFF \ + -DWITH_API_ONLY=ON \ + -DWITH_EXAMPLES=ON \ + -DWITH_EXAMPLES_HTTP=ON \ + -DOPENTELEMETRY_INSTALL=OFF \ + "${SRC_DIR}" 2>&1 | tee configure.log + for legacy_option in \ + WITH_API_ONLY \ + WITH_EXAMPLES_HTTP \ + OPENTELEMETRY_INSTALL; do + grep -q "CMake option ${legacy_option} is deprecated" configure.log || { + echo "ERROR: missing deprecation warning for option ${legacy_option}" + exit 1 + } + done + for expected_entry in \ + "OTELCPP_WITH_API_ONLY:BOOL=ON" \ + "OTELCPP_WITH_EXAMPLES_HTTP:BOOL=ON" \ + "OTELCPP_INSTALL:BOOL=OFF"; do + grep -q "^${expected_entry}$" CMakeCache.txt || { + echo "ERROR: expected CMakeCache.txt entry missing: ${expected_entry}" + exit 1 + } + done + exit 0 elif [[ "$1" == "cmake.test_example_plugin" ]]; then # Build the plugin cd "${BUILD_DIR}" diff --git a/cmake/tools.cmake b/cmake/tools.cmake index 37086779b5..314f9ec6eb 100644 --- a/cmake/tools.cmake +++ b/cmake/tools.cmake @@ -323,22 +323,24 @@ endfunction() function(_otelcpp_get_legacy_option_name __OPTION_NAME __OUTPUT_VARIABLE) if(__OPTION_NAME MATCHES "^OTELCPP_WITH_") string(REGEX REPLACE "^OTELCPP_" "" __LEGACY_OPTION_NAME "${__OPTION_NAME}") - elseif(__OPTION_NAME STREQUAL "OTELCPP_BUILD_W3CTRACECONTEXT_TEST") - set(__LEGACY_OPTION_NAME "BUILD_W3CTRACECONTEXT_TEST") - elseif(__OPTION_NAME STREQUAL "OTELCPP_INSTALL") - set(__LEGACY_OPTION_NAME "OPENTELEMETRY_INSTALL") - elseif(__OPTION_NAME STREQUAL "OTELCPP_SKIP_DYNAMIC_LOADING_TESTS") - set(__LEGACY_OPTION_NAME "OPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS") - elseif(__OPTION_NAME STREQUAL "OTELCPP_BUILD_DLL") - set(__LEGACY_OPTION_NAME "OPENTELEMETRY_BUILD_DLL") - elseif(__OPTION_NAME STREQUAL "OTELCPP_BUILD_PACKAGE") - set(__LEGACY_OPTION_NAME "BUILD_PACKAGE") - elseif(__OPTION_NAME STREQUAL "OTELCPP_EXTERNAL_COMPONENT_PATH") - set(__LEGACY_OPTION_NAME "OPENTELEMETRY_EXTERNAL_COMPONENT_PATH") - elseif(__OPTION_NAME STREQUAL "OTELCPP_TARBALL") - set(__LEGACY_OPTION_NAME "TARBALL") else() - set(__LEGACY_OPTION_NAME "") + set(_otelcpp_legacy_option_name_OTELCPP_BUILD_W3CTRACECONTEXT_TEST + "BUILD_W3CTRACECONTEXT_TEST") + set(_otelcpp_legacy_option_name_OTELCPP_INSTALL "OPENTELEMETRY_INSTALL") + set(_otelcpp_legacy_option_name_OTELCPP_SKIP_DYNAMIC_LOADING_TESTS + "OPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS") + set(_otelcpp_legacy_option_name_OTELCPP_BUILD_DLL "OPENTELEMETRY_BUILD_DLL") + set(_otelcpp_legacy_option_name_OTELCPP_BUILD_PACKAGE "BUILD_PACKAGE") + set(_otelcpp_legacy_option_name_OTELCPP_EXTERNAL_COMPONENT_PATH + "OPENTELEMETRY_EXTERNAL_COMPONENT_PATH") + set(_otelcpp_legacy_option_name_OTELCPP_TARBALL "TARBALL") + + if(DEFINED _otelcpp_legacy_option_name_${__OPTION_NAME}) + set(__LEGACY_OPTION_NAME + "${_otelcpp_legacy_option_name_${__OPTION_NAME}}") + else() + set(__LEGACY_OPTION_NAME "") + endif() endif() set(${__OUTPUT_VARIABLE} diff --git a/tools/build.cmd b/tools/build.cmd index e08955d1cc..c85269c867 100644 --- a/tools/build.cmd +++ b/tools/build.cmd @@ -92,7 +92,7 @@ REM - stl - build with Standard Template Library REM ########################################################################################## REM Build with nostd implementation. REM ########################################################################################## -set CONFIG=-DOTELCPP_WITH_STL:BOOL=OFF %* +set CONFIG=-DOTELCPP_WITH_STL=OFF %* set "OUTDIR=%ROOT%\out\%BUILDTOOLS_VERSION%\nostd" call :build_config @@ -100,7 +100,7 @@ REM ############################################################################ REM Build with STL implementation. This option does not yield benefits for vs2015 build. REM ########################################################################################## if "%BUILDTOOLS_VERSION%" neq "vs2015" ( - set CONFIG=-DOTELCPP_WITH_STL:BOOL=ON %* + set CONFIG=-DOTELCPP_WITH_STL=ON %* set "OUTDIR=%ROOT%\out\%BUILDTOOLS_VERSION%\stl" call :build_config ) From 09de61006dc4bcf35a4837cd5186c8cb547aed6a Mon Sep 17 00:00:00 2001 From: owent Date: Wed, 22 Jul 2026 13:43:28 +0800 Subject: [PATCH 6/6] Add document for OTELCPP_BUILD_TESTING and explicitly set all option mappings. --- CHANGELOG.md | 16 +++++++--- cmake/tools.cmake | 77 +++++++++++++++++++++++++++++++++++------------ 2 files changed, 70 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70661f3daf..d4a1b97e1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,7 +52,15 @@ Breaking changes: name collisions with user and third-party project variables: * `WITH_*` options are renamed to `OTELCPP_WITH_*`, for example `WITH_OTLP_HTTP` becomes `OTELCPP_WITH_OTLP_HTTP` - * `BUILD_TESTING` becomes `OTELCPP_BUILD_TESTING` + * `BUILD_TESTING` becomes `OTELCPP_BUILD_TESTING`. Unlike the other renamed + options, `BUILD_TESTING` is not treated as a deprecated alias: + * When opentelemetry-cpp is the top-level project, `BUILD_TESTING` sets + the default value of `OTELCPP_BUILD_TESTING`. + * When opentelemetry-cpp is a subproject, the parent project's + `BUILD_TESTING` no longer controls opentelemetry-cpp tests, which + default to `OFF`. + * Set `OTELCPP_BUILD_TESTING` explicitly to enable or disable + opentelemetry-cpp tests in either top-level or subproject builds. * `BUILD_W3CTRACECONTEXT_TEST` becomes `OTELCPP_BUILD_W3CTRACECONTEXT_TEST` * `BUILD_PACKAGE` becomes `OTELCPP_BUILD_PACKAGE` @@ -63,9 +71,9 @@ Breaking changes: `OTELCPP_SKIP_DYNAMIC_LOADING_TESTS` * `OPENTELEMETRY_EXTERNAL_COMPONENT_PATH` becomes `OTELCPP_EXTERNAL_COMPONENT_PATH` - * The legacy option names are still accepted but deprecated: a deprecation - warning is emitted at configure time, and the `OTELCPP_` name takes - precedence when both names are set. + * The other legacy option names are still accepted but deprecated: a + deprecation warning is emitted at configure time, and the `OTELCPP_` name + takes precedence when both names are set. * Please update build scripts and CI configurations to use the new option names. diff --git a/cmake/tools.cmake b/cmake/tools.cmake index 314f9ec6eb..fc76a22f9f 100644 --- a/cmake/tools.cmake +++ b/cmake/tools.cmake @@ -320,27 +320,66 @@ function(project_build_tools_set_static_library_declaration DEFINITION_VARNAME) endif() endfunction() +set(_otelcpp_legacy_option_name_OTELCPP_WITH_ABI_VERSION_1 "WITH_ABI_VERSION_1") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_ABI_VERSION_2 "WITH_ABI_VERSION_2") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_API_ONLY "WITH_API_ONLY") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_ASYNC_EXPORT_PREVIEW + "WITH_ASYNC_EXPORT_PREVIEW") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_BENCHMARK "WITH_BENCHMARK") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_CONFIGURATION "WITH_CONFIGURATION") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_CURL_LOGGING "WITH_CURL_LOGGING") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_ELASTICSEARCH "WITH_ELASTICSEARCH") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_ETW "WITH_ETW") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_EXAMPLES "WITH_EXAMPLES") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_EXAMPLES_HTTP "WITH_EXAMPLES_HTTP") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_FUNC_TESTS "WITH_FUNC_TESTS") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_GSL "WITH_GSL") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_HTTP_CLIENT_CURL + "WITH_HTTP_CLIENT_CURL") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW + "WITH_METRICS_BOUND_INSTRUMENTS_PREVIEW") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_METRICS_EXEMPLAR_PREVIEW + "WITH_METRICS_EXEMPLAR_PREVIEW") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_NO_DEPRECATED_CODE + "WITH_NO_DEPRECATED_CODE") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_NO_GETENV "WITH_NO_GETENV") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_OPENTRACING "WITH_OPENTRACING") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_OTLP_FILE "WITH_OTLP_FILE") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_OTLP_GRPC "WITH_OTLP_GRPC") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_OTLP_GRPC_CREDENTIAL_PREVIEW + "WITH_OTLP_GRPC_CREDENTIAL_PREVIEW") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_OTLP_GRPC_SSL_MTLS_PREVIEW + "WITH_OTLP_GRPC_SSL_MTLS_PREVIEW") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_OTLP_HTTP "WITH_OTLP_HTTP") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_OTLP_HTTP_COMPRESSION + "WITH_OTLP_HTTP_COMPRESSION") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_OTLP_RETRY_PREVIEW + "WITH_OTLP_RETRY_PREVIEW") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_OTLP_UTF8_VALIDITY + "WITH_OTLP_UTF8_VALIDITY") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_PROMETHEUS "WITH_PROMETHEUS") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_RESOURCE_DETECTORS_PREVIEW + "WITH_RESOURCE_DETECTORS_PREVIEW") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_STL "WITH_STL") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_THREAD_INSTRUMENTATION_PREVIEW + "WITH_THREAD_INSTRUMENTATION_PREVIEW") +set(_otelcpp_legacy_option_name_OTELCPP_WITH_ZIPKIN "WITH_ZIPKIN") +set(_otelcpp_legacy_option_name_OTELCPP_BUILD_W3CTRACECONTEXT_TEST + "BUILD_W3CTRACECONTEXT_TEST") +set(_otelcpp_legacy_option_name_OTELCPP_INSTALL "OPENTELEMETRY_INSTALL") +set(_otelcpp_legacy_option_name_OTELCPP_SKIP_DYNAMIC_LOADING_TESTS + "OPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS") +set(_otelcpp_legacy_option_name_OTELCPP_BUILD_DLL "OPENTELEMETRY_BUILD_DLL") +set(_otelcpp_legacy_option_name_OTELCPP_BUILD_PACKAGE "BUILD_PACKAGE") +set(_otelcpp_legacy_option_name_OTELCPP_EXTERNAL_COMPONENT_PATH + "OPENTELEMETRY_EXTERNAL_COMPONENT_PATH") +set(_otelcpp_legacy_option_name_OTELCPP_TARBALL "TARBALL") + function(_otelcpp_get_legacy_option_name __OPTION_NAME __OUTPUT_VARIABLE) - if(__OPTION_NAME MATCHES "^OTELCPP_WITH_") - string(REGEX REPLACE "^OTELCPP_" "" __LEGACY_OPTION_NAME "${__OPTION_NAME}") + if(DEFINED _otelcpp_legacy_option_name_${__OPTION_NAME}) + set(__LEGACY_OPTION_NAME "${_otelcpp_legacy_option_name_${__OPTION_NAME}}") else() - set(_otelcpp_legacy_option_name_OTELCPP_BUILD_W3CTRACECONTEXT_TEST - "BUILD_W3CTRACECONTEXT_TEST") - set(_otelcpp_legacy_option_name_OTELCPP_INSTALL "OPENTELEMETRY_INSTALL") - set(_otelcpp_legacy_option_name_OTELCPP_SKIP_DYNAMIC_LOADING_TESTS - "OPENTELEMETRY_SKIP_DYNAMIC_LOADING_TESTS") - set(_otelcpp_legacy_option_name_OTELCPP_BUILD_DLL "OPENTELEMETRY_BUILD_DLL") - set(_otelcpp_legacy_option_name_OTELCPP_BUILD_PACKAGE "BUILD_PACKAGE") - set(_otelcpp_legacy_option_name_OTELCPP_EXTERNAL_COMPONENT_PATH - "OPENTELEMETRY_EXTERNAL_COMPONENT_PATH") - set(_otelcpp_legacy_option_name_OTELCPP_TARBALL "TARBALL") - - if(DEFINED _otelcpp_legacy_option_name_${__OPTION_NAME}) - set(__LEGACY_OPTION_NAME - "${_otelcpp_legacy_option_name_${__OPTION_NAME}}") - else() - set(__LEGACY_OPTION_NAME "") - endif() + set(__LEGACY_OPTION_NAME "") endif() set(${__OUTPUT_VARIABLE}