summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/opentelemetry-cpp/api/CMakeLists.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
commite6918187568dbd01842d8d1d2c808ce16a894239 (patch)
tree64f88b554b444a49f656b6c656111a145cbbaa28 /src/jaegertracing/opentelemetry-cpp/api/CMakeLists.txt
parentInitial commit. (diff)
downloadceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz
ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/jaegertracing/opentelemetry-cpp/api/CMakeLists.txt')
-rw-r--r--src/jaegertracing/opentelemetry-cpp/api/CMakeLists.txt94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/jaegertracing/opentelemetry-cpp/api/CMakeLists.txt b/src/jaegertracing/opentelemetry-cpp/api/CMakeLists.txt
new file mode 100644
index 000000000..375e8458e
--- /dev/null
+++ b/src/jaegertracing/opentelemetry-cpp/api/CMakeLists.txt
@@ -0,0 +1,94 @@
+add_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)
+
+install(
+ TARGETS opentelemetry_api
+ EXPORT "${PROJECT_NAME}-target"
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+set(LOGS_EXCLUDE_PATTERN "")
+if(NOT WITH_LOGS_PREVIEW)
+ set(LOGS_EXCLUDE_PATTERN "logs")
+endif()
+
+set(METRICS_EXCLUDE_PATTERN "")
+if(NOT WITH_METRICS_PREVIEW)
+ set(METRICS_EXCLUDE_PATTERN "metrics")
+endif()
+
+install(
+ DIRECTORY include/opentelemetry
+ DESTINATION include
+ FILES_MATCHING
+ PATTERN "*.h"
+ PATTERN "${METRICS_EXCLUDE_PATTERN}" EXCLUDE)
+
+install(
+ DIRECTORY include/opentelemetry
+ DESTINATION include
+ FILES_MATCHING
+ PATTERN "*.h"
+ PATTERN "${LOGS_EXCLUDE_PATTERN}" EXCLUDE)
+
+if(BUILD_TESTING)
+ add_subdirectory(test)
+endif()
+
+if(WITH_ABSEIL)
+
+ find_package(absl CONFIG REQUIRED)
+
+ target_compile_definitions(opentelemetry_api INTERFACE HAVE_ABSEIL)
+ target_link_libraries(
+ opentelemetry_api INTERFACE absl::bad_variant_access absl::any absl::base
+ absl::bits absl::city)
+
+endif()
+
+if(WITH_STL)
+ message("Building with standard library types...")
+ target_compile_definitions(opentelemetry_api INTERFACE HAVE_CPP_STDLIB)
+else()
+ message("Building with nostd types...")
+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)
+ else()
+ set(GSL_DIR third_party/ms-gsl)
+ target_include_directories(
+ opentelemetry_api INTERFACE "$<BUILD_INTERFACE:${GSL_DIR}/include>")
+ endif()
+endif()
+
+if(WITH_METRICS_PREVIEW)
+ target_compile_definitions(opentelemetry_api INTERFACE ENABLE_METRICS_PREVIEW)
+endif()
+
+if(WITH_LOGS_PREVIEW)
+ target_compile_definitions(opentelemetry_api INTERFACE ENABLE_LOGS_PREVIEW)
+endif()
+
+if(WITH_NO_GENENV)
+ target_compile_definitions(opentelemetry_api INTERFACE NO_GETENV)
+endif()
+
+if(WIN32)
+ target_compile_definitions(opentelemetry_api INTERFACE NOMINMAX)
+ if(WITH_ETW)
+ target_compile_definitions(opentelemetry_api INTERFACE HAVE_MSGPACK)
+ endif()
+endif()