From ac6be831a02e73244d87e73c828b05f04330351b Mon Sep 17 00:00:00 2001 From: David Li Date: Wed, 8 Dec 2021 09:17:52 -0500 Subject: [PATCH] ARROW-15027: [C++] Fix OpenTelemetry CMake definitions --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 66d04acae06..b84a80a0447 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -3918,6 +3918,7 @@ macro(build_opentelemetry) common http_client_curl ostream_span_exporter + otlp_http_client otlp_http_exporter otlp_recordable proto @@ -3934,6 +3935,7 @@ macro(build_opentelemetry) "${OPENTELEMETRY_INCLUDE_DIR}") endforeach() foreach(_OPENTELEMETRY_LIB ${_OPENTELEMETRY_LIBS}) + # N.B. OTel targets and libraries don't follow any consistent naming scheme if(_OPENTELEMETRY_LIB STREQUAL "http_client_curl") set(_OPENTELEMETRY_STATIC_LIBRARY "${OPENTELEMETRY_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${_OPENTELEMETRY_LIB}${CMAKE_STATIC_LIBRARY_SUFFIX}" @@ -3942,6 +3944,10 @@ macro(build_opentelemetry) set(_OPENTELEMETRY_STATIC_LIBRARY "${OPENTELEMETRY_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}opentelemetry_exporter_ostream_span${CMAKE_STATIC_LIBRARY_SUFFIX}" ) + elseif(_OPENTELEMETRY_LIB STREQUAL "otlp_http_client") + set(_OPENTELEMETRY_STATIC_LIBRARY + "${OPENTELEMETRY_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}opentelemetry_exporter_otlp_http_client${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) elseif(_OPENTELEMETRY_LIB STREQUAL "otlp_http_exporter") set(_OPENTELEMETRY_STATIC_LIBRARY "${OPENTELEMETRY_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}opentelemetry_exporter_otlp_http${CMAKE_STATIC_LIBRARY_SUFFIX}" @@ -4082,9 +4088,13 @@ macro(build_opentelemetry) PROPERTIES INTERFACE_LINK_LIBRARIES "opentelemetry-cpp::trace;opentelemetry-cpp::resources;opentelemetry-cpp::proto" ) + set_target_properties(opentelemetry-cpp::otlp_http_client + PROPERTIES INTERFACE_LINK_LIBRARIES + "opentelemetry-cpp::sdk;opentelemetry-cpp::proto;opentelemetry-cpp::http_client_curl;nlohmann_json::nlohmann_json" + ) set_target_properties(opentelemetry-cpp::otlp_http_exporter PROPERTIES INTERFACE_LINK_LIBRARIES - "opentelemetry-cpp::otlp_recordable;opentelemetry-cpp::http_client_curl;nlohmann_json::nlohmann_json" + "opentelemetry-cpp::otlp_recordable;opentelemetry-cpp::otlp_http_client" ) foreach(_OPENTELEMETRY_LIB ${_OPENTELEMETRY_LIBS})