| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 | # Copyright The OpenTelemetry Authors# SPDX-License-Identifier: Apache-2.0add_library(opentelemetry_api INTERFACE)target_include_directories(  opentelemetry_api  INTERFACE "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>"            "$<INSTALL_INTERFACE:include>")set_target_properties(opentelemetry_api PROPERTIES EXPORT_NAME api)otel_add_component(  COMPONENT  api  TARGETS  opentelemetry_api  FILES_DIRECTORY  "include/opentelemetry"  FILES_DESTINATION  "include"  FILES_MATCHING  PATTERN  "*.h")if(OPENTELEMETRY_INSTALL)  unset(TARGET_DEPS)endif()if(BUILD_TESTING)  add_subdirectory(test)endif()if(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")  target_compile_definitions(opentelemetry_api                             INTERFACE OPENTELEMETRY_STL_VERSION=2011)elseif(WITH_STL STREQUAL "CXX14")  message(STATUS "Building WITH_STL=CXX14")  target_compile_definitions(opentelemetry_api                             INTERFACE OPENTELEMETRY_STL_VERSION=2014)elseif(WITH_STL STREQUAL "CXX17")  message(STATUS "Building WITH_STL=CXX17")  target_compile_definitions(opentelemetry_api                             INTERFACE OPENTELEMETRY_STL_VERSION=2017)elseif(WITH_STL STREQUAL "CXX20")  message(STATUS "Building WITH_STL=CXX20")  target_compile_definitions(opentelemetry_api                             INTERFACE OPENTELEMETRY_STL_VERSION=2020)elseif(WITH_STL STREQUAL "CXX23")  message(STATUS "Building WITH_STL=CXX23")  target_compile_definitions(opentelemetry_api                             INTERFACE OPENTELEMETRY_STL_VERSION=2023)elseif(WITH_STL STREQUAL "ON")  message(STATUS "Building 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 or CXX23")endif()if(WITH_GSL)  target_compile_definitions(opentelemetry_api INTERFACE HAVE_GSL)  # Guidelines Support Library path. Used if we are not on not get C++20.  #  find_package(Microsoft.GSL QUIET)  if(TARGET Microsoft.GSL::GSL)    target_link_libraries(opentelemetry_api INTERFACE Microsoft.GSL::GSL)    list(APPEND TARGET_DEPS "gsl")  else()    set(GSL_DIR third_party/ms-gsl)    target_include_directories(      opentelemetry_api INTERFACE "$<BUILD_INTERFACE:${GSL_DIR}/include>")  endif()endif()if(WITH_NO_GETENV)  target_compile_definitions(opentelemetry_api INTERFACE NO_GETENV)endif()if(WIN32)  if(WITH_ETW)    target_compile_definitions(opentelemetry_api INTERFACE HAVE_MSGPACK)  endif()endif()if(WITH_ASYNC_EXPORT_PREVIEW)  target_compile_definitions(opentelemetry_api INTERFACE ENABLE_ASYNC_EXPORT)endif()target_compile_definitions(  opentelemetry_api  INTERFACE OPENTELEMETRY_ABI_VERSION_NO=${OPENTELEMETRY_ABI_VERSION_NO})if(WITH_OTLP_RETRY_PREVIEW)  target_compile_definitions(opentelemetry_api                             INTERFACE ENABLE_OTLP_RETRY_PREVIEW)endif()if(WITH_OTLP_GRPC_SSL_MTLS_PREVIEW)  target_compile_definitions(opentelemetry_api                             INTERFACE ENABLE_OTLP_GRPC_SSL_MTLS_PREVIEW)endif()if(WITH_METRICS_EXEMPLAR_PREVIEW)  target_compile_definitions(opentelemetry_api                             INTERFACE ENABLE_METRICS_EXEMPLAR_PREVIEW)endif()if(WITH_THREAD_INSTRUMENTATION_PREVIEW)  target_compile_definitions(opentelemetry_api                             INTERFACE ENABLE_THREAD_INSTRUMENTATION_PREVIEW)endif()if(WITH_OTLP_HTTP_COMPRESSION)  target_compile_definitions(opentelemetry_api                             INTERFACE ENABLE_OTLP_COMPRESSION_PREVIEW)endif()if(APPLE)  target_link_libraries(opentelemetry_api INTERFACE "-framework CoreFoundation")endif()include(${PROJECT_SOURCE_DIR}/cmake/pkgconfig.cmake)if(OPENTELEMETRY_INSTALL)  opentelemetry_add_pkgconfig(    api "OpenTelemetry API"    "A header-only library to support instrumentation with OpenTelemetry."    "${TARGET_DEPS}")endif()
 |