From: Deepika Upadhyay Date: Fri, 4 Feb 2022 20:53:48 +0000 (-0500) Subject: cmake: create jaeger_base target for consuming tracing libraries X-Git-Tag: v18.0.0~789^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bbaafcd32c8c35143f397b459b76cb380cb5f036;p=ceph.git cmake: create jaeger_base target for consuming tracing libraries Signed-off-by: Deepika Upadhyay --- diff --git a/cmake/modules/BuildOpentelemetry.cmake b/cmake/modules/BuildOpentelemetry.cmake index 68987e222e62..c528273a098e 100644 --- a/cmake/modules/BuildOpentelemetry.cmake +++ b/cmake/modules/BuildOpentelemetry.cmake @@ -6,14 +6,14 @@ function(target_create _target _lib) endfunction() function(build_opentelemetry) - set(opentelemetry_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/opentelemetry-cpp") + set(opentelemetry_SOURCE_DIR "${PROJECT_SOURCE_DIR}/src/opentelemetry-cpp") set(opentelemetry_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/opentelemetry-cpp") set(opentelemetry_cpp_targets opentelemetry_trace opentelemetry_exporter_jaeger_trace) set(opentelemetry_CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DWITH_JAEGER=ON -DBUILD_TESTING=OFF -DWITH_EXAMPLES=OFF - -DBoost_INCLUDE_DIR=${CMAKE_BINARY_DIR}/boost/include) + -DBoost_INCLUDE_DIR=${CMAKE_BINARY_DIR}/boost/include) set(opentelemetry_libs ${opentelemetry_BINARY_DIR}/sdk/src/trace/libopentelemetry_trace.a diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 61a8616d5a77..89c53ea46eb9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -406,9 +406,11 @@ if(WITH_JAEGER) find_package(thrift 0.13.0 REQUIRED) include(BuildOpentelemetry) build_opentelemetry() - set(jaeger_base opentelemetry::libopentelemetry thrift::libthrift) - add_dependencies(common-objs ${jaeger_base}) - target_link_libraries(common-objs ${jaeger_base}) + add_library(jaeger_base INTERFACE) + target_link_libraries(jaeger_base INTERFACE opentelemetry::libopentelemetry + thrift::libthrift) + add_dependencies(common-objs jaeger_base) + target_link_libraries(common-objs jaeger_base) endif() CHECK_C_COMPILER_FLAG("-fvar-tracking-assignments" HAS_VTA) @@ -472,7 +474,7 @@ if(WITH_DPDK) endif() if(WITH_JAEGER) - list(APPEND ceph_common_deps ${jaeger_base}) + list(APPEND ceph_common_deps jaeger_base) endif() if(WIN32) @@ -498,7 +500,10 @@ endif() add_library(common STATIC ${ceph_common_objs}) target_link_libraries(common ${ceph_common_deps}) -add_dependencies(common legacy-option-headers ${jaeger_base}) +add_dependencies(common legacy-option-headers) +if(WITH_JAEGER) +add_dependencies(common jaeger_base) +endif() if (WIN32) # Statically building ceph-common on Windows fails. We're temporarily @@ -512,7 +517,13 @@ target_link_libraries(ceph-common ${ceph_common_deps}) if(ENABLE_COVERAGE) target_link_libraries(ceph-common gcov) endif(ENABLE_COVERAGE) -add_dependencies(ceph-common legacy-option-headers ${jaeger_base}) + +add_dependencies(ceph-common legacy-option-headers) + +if(WITH_JAEGER) +add_dependencies(ceph-common jaeger_base) +endif() + # appease dpkg-shlibdeps set_target_properties(ceph-common PROPERTIES SOVERSION 2 diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt index 4508491407d9..e17251564964 100644 --- a/src/crimson/CMakeLists.txt +++ b/src/crimson/CMakeLists.txt @@ -134,9 +134,9 @@ set(crimson_common_deps Boost::random json_spirit) +set(crimson_common_public_deps crimson::cflags) if(WITH_JAEGER) - include_directories(SYSTEM ${CMAKE_BINARY_DIR}/external/include) - list(APPEND crimson_common_deps ${jaeger_base}) + list(APPEND crimson_common_public_deps jaeger_base) endif() if(NOT WITH_SYSTEM_BOOST) @@ -145,7 +145,7 @@ endif() target_link_libraries(crimson-common PUBLIC - crimson::cflags + ${crimson_common_public_deps} PRIVATE crc32 ${crimson_common_deps} diff --git a/src/mon/CMakeLists.txt b/src/mon/CMakeLists.txt index b7232551ccb0..784b4c3ee0b3 100644 --- a/src/mon/CMakeLists.txt +++ b/src/mon/CMakeLists.txt @@ -42,5 +42,5 @@ target_link_libraries(mon heap_profiler fmt::fmt) if(WITH_JAEGER) - target_link_libraries(mon ${jaeger_base}) + target_link_libraries(mon jaeger_base) endif() diff --git a/src/os/CMakeLists.txt b/src/os/CMakeLists.txt index 204a29fea8cc..9a6de9301054 100644 --- a/src/os/CMakeLists.txt +++ b/src/os/CMakeLists.txt @@ -93,8 +93,8 @@ if(WITH_LTTNG) endif() if(WITH_JAEGER) - add_dependencies(os ${jaeger_base}) - target_link_libraries(os ${jaeger_base}) + add_dependencies(os jaeger_base) + target_link_libraries(os jaeger_base) endif() target_link_libraries(os kv) diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt index 3f569deb20bb..8a6cb7d258c2 100644 --- a/src/rgw/CMakeLists.txt +++ b/src/rgw/CMakeLists.txt @@ -251,8 +251,8 @@ if(WITH_LTTNG) endif() if(WITH_JAEGER) - add_dependencies(rgw_common ${jaeger_base}) - target_link_libraries(rgw_common PUBLIC ${jaeger_base}) + add_dependencies(rgw_common jaeger_base) + target_link_libraries(rgw_common PUBLIC jaeger_base) endif() if(WITH_RADOSGW_DBSTORE) diff --git a/src/rgw/store/dbstore/CMakeLists.txt b/src/rgw/store/dbstore/CMakeLists.txt index 18e032b73f54..08dbe5f6fe67 100644 --- a/src/rgw/store/dbstore/CMakeLists.txt +++ b/src/rgw/store/dbstore/CMakeLists.txt @@ -21,7 +21,7 @@ target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/fmt/inclu target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw") set(link_targets spawn) if(WITH_JAEGER) - list(APPEND link_targets ${jaeger_base}) + list(APPEND link_targets jaeger_base) endif() target_link_libraries(dbstore_lib PUBLIC ${link_targets})