Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
/bazel-*
/.build/
/.coverage/

dist/
out/
MODULE.bazel.lock
228 changes: 112 additions & 116 deletions BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,125 +1,121 @@
cc_library(
name = "dd_trace_cpp",
srcs = [
"src/datadog/base64.cpp",
"src/datadog/cerr_logger.cpp",
"src/datadog/clock.cpp",
"src/datadog/config_manager.cpp",
"src/datadog/collector_response.cpp",
# "src/datadog/curl.cpp", no libcurl
"src/datadog/datadog_agent_config.cpp",
"src/datadog/datadog_agent.cpp",
# "src/datadog/default_http_client_curl.cpp", no libcurl
"src/datadog/default_http_client_null.cpp",
"src/datadog/environment.cpp",
"src/datadog/error.cpp",
"src/datadog/extraction_util.cpp",
"src/datadog/glob.cpp",
"src/datadog/http_client.cpp",
"src/datadog/id_generator.cpp",
"src/datadog/limiter.cpp",
"src/datadog/logger.cpp",
"src/datadog/metrics.cpp",
"src/datadog/msgpack.cpp",
"src/datadog/null_collector.cpp",
"src/datadog/parse_util.cpp",
"src/datadog/platform_util.cpp",
"src/datadog/propagation_style.cpp",
"src/datadog/random.cpp",
"src/datadog/rate.cpp",
"src/datadog/remote_config/remote_config.cpp",
"src/datadog/runtime_id.cpp",
"src/datadog/span.cpp",
"src/datadog/span_data.cpp",
"src/datadog/span_defaults.cpp",
"src/datadog/span_matcher.cpp",
"src/datadog/span_sampler_config.cpp",
"src/datadog/span_sampler.cpp",
"src/datadog/string_util.cpp",
"src/datadog/tag_propagation.cpp",
"src/datadog/tags.cpp",
"src/datadog/threaded_event_scheduler.cpp",
"src/datadog/tracer_config.cpp",
"src/datadog/tracer_telemetry.cpp",
"src/datadog/tracer.cpp",
"src/datadog/trace_id.cpp",
"src/datadog/trace_sampler_config.cpp",
"src/datadog/trace_sampler.cpp",
"src/datadog/trace_segment.cpp",
"src/datadog/version.cpp",
"src/datadog/w3c_propagation.cpp",
"src/datadog/base64.cpp",
"src/datadog/cerr_logger.cpp",
"src/datadog/clock.cpp",
"src/datadog/config_manager.cpp",
"src/datadog/collector_response.cpp",
"src/datadog/datadog_agent_config.cpp",
"src/datadog/datadog_agent.cpp",
"src/datadog/default_http_client_null.cpp",
"src/datadog/environment.cpp",
"src/datadog/error.cpp",
"src/datadog/extraction_util.cpp",
"src/datadog/glob.cpp",
"src/datadog/http_client.cpp",
"src/datadog/id_generator.cpp",
"src/datadog/limiter.cpp",
"src/datadog/logger.cpp",
"src/datadog/metrics.cpp",
"src/datadog/msgpack.cpp",
"src/datadog/parse_util.cpp",
"src/datadog/platform_util.cpp",
"src/datadog/propagation_style.cpp",
"src/datadog/random.cpp",
"src/datadog/rate.cpp",
"src/datadog/remote_config/remote_config.cpp",
"src/datadog/runtime_id.cpp",
"src/datadog/span.cpp",
"src/datadog/span_data.cpp",
"src/datadog/span_defaults.cpp",
"src/datadog/span_matcher.cpp",
"src/datadog/span_sampler_config.cpp",
"src/datadog/span_sampler.cpp",
"src/datadog/string_util.cpp",
"src/datadog/tag_propagation.cpp",
"src/datadog/tags.cpp",
"src/datadog/threaded_event_scheduler.cpp",
"src/datadog/tracer_config.cpp",
"src/datadog/tracer_telemetry.cpp",
"src/datadog/tracer.cpp",
"src/datadog/trace_id.cpp",
"src/datadog/trace_sampler_config.cpp",
"src/datadog/trace_sampler.cpp",
"src/datadog/trace_segment.cpp",
"src/datadog/version.cpp",
"src/datadog/w3c_propagation.cpp",
"src/datadog/base64.h",
"src/datadog/cerr_logger.h",
"src/datadog/config_manager.h",
"src/datadog/collector_response.h",
"src/datadog/datadog_agent.h",
"src/datadog/default_http_client.h",
"src/datadog/extracted_data.h",
"src/datadog/extraction_util.h",
"src/datadog/glob.h",
"src/datadog/hex.h",
"src/datadog/json.hpp",
"src/datadog/limiter.h",
"src/datadog/metrics.h",
"src/datadog/msgpack.h",
"src/datadog/parse_util.h",
"src/datadog/platform_util.h",
"src/datadog/random.h",
"src/datadog/remote_config/remote_config.h",
"src/datadog/sampling_util.h",
"src/datadog/span_data.h",
"src/datadog/span_sampler.h",
"src/datadog/string_util.h",
"src/datadog/tag_propagation.h",
"src/datadog/tags.h",
"src/datadog/threaded_event_scheduler.h",
"src/datadog/tracer_telemetry.h",
"src/datadog/trace_sampler.h",
"src/datadog/w3c_propagation.h",
],
hdrs = [
"src/datadog/base64.h",
"src/datadog/cerr_logger.h",
"src/datadog/config.h",
"src/datadog/clock.h",
"src/datadog/config_manager.h",
"src/datadog/collector.h",
"src/datadog/collector_response.h",
# "src/datadog/curl.h", no libcurl
"src/datadog/datadog_agent_config.h",
"src/datadog/datadog_agent.h",
"src/datadog/default_http_client.h",
"src/datadog/dict_reader.h",
"src/datadog/dict_writer.h",
"src/datadog/environment.h",
"src/datadog/error.h",
"src/datadog/event_scheduler.h",
"src/datadog/expected.h",
"src/datadog/extracted_data.h",
"src/datadog/extraction_util.h",
"src/datadog/glob.h",
"src/datadog/hex.h",
"src/datadog/http_client.h",
"src/datadog/id_generator.h",
"src/datadog/injection_options.h",
"src/datadog/json.hpp",
"src/datadog/json_fwd.hpp",
"src/datadog/limiter.h",
"src/datadog/logger.h",
"src/datadog/metrics.h",
"src/datadog/msgpack.h",
"src/datadog/null_collector.h",
"src/datadog/optional.h",
"src/datadog/parse_util.h",
"src/datadog/platform_util.h",
"src/datadog/propagation_style.h",
"src/datadog/random.h",
"src/datadog/rate.h",
"src/datadog/remote_config/capability.h",
"src/datadog/remote_config/listener.h",
"src/datadog/remote_config/product.h",
"src/datadog/remote_config/remote_config.h",
"src/datadog/runtime_id.h",
"src/datadog/sampling_decision.h",
"src/datadog/sampling_mechanism.h",
"src/datadog/sampling_priority.h",
"src/datadog/sampling_util.h",
"src/datadog/span_config.h",
"src/datadog/span_data.h",
"src/datadog/span_defaults.h",
"src/datadog/span.h",
"src/datadog/span_matcher.h",
"src/datadog/span_sampler_config.h",
"src/datadog/span_sampler.h",
"src/datadog/string_util.h",
"src/datadog/string_view.h",
"src/datadog/tag_propagation.h",
"src/datadog/tags.h",
"src/datadog/threaded_event_scheduler.h",
"src/datadog/tracer_config.h",
"src/datadog/tracer_signature.h",
"src/datadog/tracer_telemetry.h",
"src/datadog/tracer.h",
"src/datadog/trace_id.h",
"src/datadog/trace_sampler_config.h",
"src/datadog/trace_sampler.h",
"src/datadog/trace_segment.h",
"src/datadog/version.h",
"src/datadog/w3c_propagation.h",
"include/datadog/clock.h",
"include/datadog/collector.h",
"include/datadog/config.h",
"include/datadog/datadog_agent_config.h",
"include/datadog/dict_reader.h",
"include/datadog/dict_writer.h",
"include/datadog/error.h",
"include/datadog/environment.h",
"include/datadog/event_scheduler.h",
"include/datadog/expected.h",
"include/datadog/http_client.h",
"include/datadog/id_generator.h",
"include/datadog/injection_options.h",
"include/datadog/json_fwd.hpp",
"include/datadog/logger.h",
"include/datadog/null_collector.h",
"include/datadog/optional.h",
"include/datadog/propagation_style.h",
"include/datadog/rate.h",
"include/datadog/runtime_id.h",
"include/datadog/sampling_decision.h",
"include/datadog/sampling_mechanism.h",
"include/datadog/sampling_priority.h",
"include/datadog/span.h",
"include/datadog/span_config.h",
"include/datadog/span_defaults.h",
"include/datadog/span_matcher.h",
"include/datadog/span_sampler_config.h",
"include/datadog/string_view.h",
"include/datadog/tracer.h",
"include/datadog/tracer_config.h",
"include/datadog/tracer_signature.h",
"include/datadog/trace_id.h",
"include/datadog/trace_sampler_config.h",
"include/datadog/trace_segment.h",
"include/datadog/version.h",
"include/datadog/remote_config/capability.h",
"include/datadog/remote_config/listener.h",
"include/datadog/remote_config/product.h",
],
strip_include_prefix = "src/",
strip_include_prefix = "include/",
copts = ["-Isrc/datadog"],
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it still needed?

visibility = ["//visibility:public"],
deps = [
Expand Down
95 changes: 13 additions & 82 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ endif ()
# Linking this library requires threads.
find_package(Threads REQUIRED)
include(cmake/deps/curl.cmake)
include(cmake/deps/json.cmake)
include(cmake/utils.cmake)

file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/src/datadog/version.cpp DD_TRACE_VERSION_CPP_CONTENTS REGEX "#define DD_TRACE_VERSION( |_NUM )")
Expand Down Expand Up @@ -77,7 +78,14 @@ endif ()
add_library(dd_trace_cpp-objects OBJECT)
add_library(dd_trace::obj ALIAS dd_trace_cpp-objects)

file(GLOB_RECURSE public_header_files ${CMAKE_SOURCE_DIR}/include/*.h)

target_sources(dd_trace_cpp-objects
PUBLIC
FILE_SET public_headers
TYPE HEADERS
BASE_DIRS include
FILES ${public_header_files}
PRIVATE
src/datadog/base64.cpp
src/datadog/cerr_logger.cpp
Expand All @@ -86,7 +94,6 @@ target_sources(dd_trace_cpp-objects
src/datadog/collector_response.cpp
src/datadog/datadog_agent_config.cpp
src/datadog/datadog_agent.cpp
# src/datadog/default_http_client_null.cpp use libcurl
src/datadog/environment.cpp
src/datadog/error.cpp
src/datadog/extraction_util.cpp
Expand All @@ -97,12 +104,12 @@ target_sources(dd_trace_cpp-objects
src/datadog/logger.cpp
src/datadog/metrics.cpp
src/datadog/msgpack.cpp
src/datadog/null_collector.cpp
src/datadog/parse_util.cpp
src/datadog/platform_util.cpp
src/datadog/propagation_style.cpp
src/datadog/random.cpp
src/datadog/rate.cpp
src/datadog/remote_config/product.cpp
src/datadog/remote_config/remote_config.cpp
src/datadog/runtime_id.cpp
src/datadog/span.cpp
Expand All @@ -126,88 +133,14 @@ target_sources(dd_trace_cpp-objects
src/datadog/w3c_propagation.cpp
)

# This library's public headers are just its source headers.
target_sources(dd_trace_cpp-objects PUBLIC
FILE_SET public_headers
TYPE HEADERS
BASE_DIRS src/
FILES
src/datadog/base64.h
src/datadog/config.h
src/datadog/cerr_logger.h
src/datadog/clock.h
src/datadog/config_manager.h
src/datadog/collector.h
src/datadog/collector_response.h
# src/datadog/curl.h except for curl.h
src/datadog/datadog_agent_config.h
src/datadog/datadog_agent.h
src/datadog/default_http_client.h
src/datadog/dict_reader.h
src/datadog/dict_writer.h
src/datadog/environment.h
src/datadog/error.h
src/datadog/event_scheduler.h
src/datadog/expected.h
src/datadog/extracted_data.h
src/datadog/extraction_util.h
src/datadog/glob.h
src/datadog/hex.h
src/datadog/http_client.h
src/datadog/id_generator.h
src/datadog/injection_options.h
src/datadog/json_fwd.hpp
src/datadog/json.hpp
src/datadog/limiter.h
src/datadog/logger.h
src/datadog/metrics.h
src/datadog/msgpack.h
src/datadog/null_collector.h
src/datadog/optional.h
src/datadog/parse_util.h
src/datadog/platform_util.h
src/datadog/propagation_style.h
src/datadog/random.h
src/datadog/rate.h
src/datadog/remote_config/remote_config.h
src/datadog/remote_config/capability.h
src/datadog/remote_config/listener.h
src/datadog/runtime_id.h
src/datadog/sampling_decision.h
src/datadog/sampling_mechanism.h
src/datadog/sampling_priority.h
src/datadog/sampling_util.h
src/datadog/span_config.h
src/datadog/span_data.h
src/datadog/span_defaults.h
src/datadog/span.h
src/datadog/span_matcher.h
src/datadog/span_sampler_config.h
src/datadog/span_sampler.h
src/datadog/string_util.h
src/datadog/string_view.h
src/datadog/tag_propagation.h
src/datadog/tags.h
src/datadog/threaded_event_scheduler.h
src/datadog/tracer_config.h
src/datadog/tracer_signature.h
src/datadog/tracer_telemetry.h
src/datadog/tracer.h
src/datadog/trace_id.h
src/datadog/trace_sampler_config.h
src/datadog/trace_sampler.h
src/datadog/trace_segment.h
src/datadog/version.h
src/datadog/w3c_propagation.h
)

# Headers location are different depending of whether we are building
# or installing the library.
target_include_directories(dd_trace_cpp-objects
PUBLIC
$<INSTALL_INTERFACE:src/datadog>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/datadog>
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src/datadog
)

target_link_libraries(dd_trace_cpp-objects
Expand Down Expand Up @@ -252,7 +185,6 @@ if (BUILD_SHARED_LIBS)
FILE_SET public_headers DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
# For Windows
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
endif ()
Expand Down Expand Up @@ -290,7 +222,6 @@ if (BUILD_STATIC_LIBS)
FILE_SET public_headers DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
# For Windows
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
endif ()
Loading