@@ -36,11 +36,6 @@ project(opentelemetry-cpp)
3636# Mark variables as used so cmake doesn't complain about them
3737mark_as_advanced (CMAKE_TOOLCHAIN_FILE)
3838
39- # Note: CMAKE_FIND_PACKAGE_PREFER_CONFIG requires cmake 3.15. Prefer cmake
40- # CONFIG search mode to find dependencies. This is important to properly find
41- # protobuf versions 3.22.0 and above due to the abseil-cpp dependency.
42- set (CMAKE_FIND_PACKAGE_PREFER_CONFIG TRUE )
43-
4439# Don't use customized cmake modules if vcpkg is used to resolve dependence.
4540if (NOT DEFINED CMAKE_TOOLCHAIN_FILE)
4641 list (APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR} /cmake/modules/" )
@@ -79,10 +74,6 @@ if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
7974 CACHE STRING "" )
8075endif ()
8176
82- if (VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
83- include ("${VCPKG_CHAINLOAD_TOOLCHAIN_FILE} " )
84- endif ()
85-
8677option (WITH_ABI_VERSION_1 "ABI version 1" ON )
8778option (WITH_ABI_VERSION_2 "EXPERIMENTAL: ABI version 2 preview" OFF )
8879
@@ -312,49 +303,7 @@ endif()
312303include (GNUInstallDirs)
313304
314305if (WITH_PROMETHEUS)
315- find_package (prometheus-cpp CONFIG QUIET )
316- if (NOT prometheus-cpp_FOUND)
317- message (STATUS "Trying to use local prometheus-cpp from submodule" )
318- if (EXISTS ${PROJECT_SOURCE_DIR} /third_party/prometheus-cpp/.git)
319- set (SAVED_ENABLE_TESTING ${ENABLE_TESTING} )
320- set (SAVED_CMAKE_CXX_CLANG_TIDY ${CMAKE_CXX_CLANG_TIDY} )
321- set (SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE
322- ${CMAKE_CXX_INCLUDE_WHAT_YOU_USE} )
323- set (ENABLE_TESTING OFF )
324- set (CMAKE_CXX_CLANG_TIDY "" )
325- set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE "" )
326- add_subdirectory (third_party/prometheus-cpp)
327- set (ENABLE_TESTING ${SAVED_ENABLE_TESTING} )
328- set (CMAKE_CXX_CLANG_TIDY ${SAVED_CMAKE_CXX_CLANG_TIDY} )
329- set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE
330- ${SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE} )
331-
332- # Get the version of the prometheus-cpp submodule
333- find_package (Git QUIET )
334- if (Git_FOUND)
335- execute_process (
336- COMMAND ${GIT_EXECUTABLE} describe --tags --always
337- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} /third_party/prometheus-cpp
338- OUTPUT_VARIABLE prometheus-cpp_VERSION
339- OUTPUT_STRIP_TRAILING_WHITESPACE)
340- string (REGEX REPLACE "^v" "" prometheus-cpp_VERSION
341- "${prometheus-cpp_VERSION}" )
342- endif ()
343-
344- message (
345- STATUS
346- "Using local prometheus-cpp from submodule. Version = ${prometheus-cpp_VERSION}"
347- )
348- else ()
349- message (
350- FATAL_ERROR
351- "\n prometheus-cpp package was not found. Please either provide it manually or clone with submodules. "
352- "To initialize, fetch and checkout any nested submodules, you can use the following command:\n "
353- "git submodule update --init --recursive" )
354- endif ()
355- else ()
356- message (STATUS "Using external prometheus-cpp" )
357- endif ()
306+ include ("${opentelemetry-cpp_SOURCE_DIR}/cmake/prometheus-cpp.cmake" )
358307endif ()
359308
360309if (WITH_OTLP_GRPC
@@ -511,6 +460,14 @@ if((NOT WITH_API_ONLY) AND WITH_CONFIGURATION)
511460 )
512461endif ()
513462
463+ #
464+ # Do we need OpenTracing ?
465+ #
466+
467+ if (WITH_OPENTRACING)
468+ include ("${opentelemetry-cpp_SOURCE_DIR}/cmake/opentracing-cpp.cmake" )
469+ endif ()
470+
514471if (OTELCPP_MAINTAINER_MODE)
515472 if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
516473 message (STATUS "Building with gcc in maintainer mode." )
@@ -710,10 +667,18 @@ if(ZLIB_FOUND)
710667 message (STATUS "ZLIB: ${ZLIB_VERSION} " )
711668endif ()
712669if (USE_NLOHMANN_JSON)
713- message (STATUS "nlohmann-json: ${nlohmann_json_VERSION} " )
670+ message (
671+ STATUS "nlohmann-json: ${nlohmann_json_VERSION} (${nlohmann_json_PROVIDER} )"
672+ )
673+ endif ()
674+ if (WITH_PROMETHEUS)
675+ message (
676+ STATUS
677+ "prometheus-cpp: ${prometheus-cpp_VERSION} (${prometheus-cpp_PROVIDER})" )
714678endif ()
715- if (prometheus-cpp_FOUND)
716- message (STATUS "prometheus-cpp: ${prometheus-cpp_VERSION}" )
679+ if (WITH_OPENTRACING)
680+ message (
681+ STATUS "opentracing-cpp: ${OpenTracing_VERSION} (${OpenTracing_PROVIDER} )" )
717682endif ()
718683message (STATUS "---------------------------------------------" )
719684
@@ -738,30 +703,6 @@ endif()
738703add_subdirectory (api)
739704
740705if (WITH_OPENTRACING)
741- find_package (OpenTracing CONFIG QUIET )
742- if (NOT OpenTracing_FOUND)
743- set (OPENTRACING_DIR "third_party/opentracing-cpp" )
744- message (STATUS "Trying to use local ${OPENTRACING_DIR} from submodule" )
745- if (EXISTS "${PROJECT_SOURCE_DIR} /${OPENTRACING_DIR} /.git" )
746- set (SAVED_BUILD_TESTING ${BUILD_TESTING} )
747- set (BUILD_TESTING OFF )
748- set (SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE
749- ${CMAKE_CXX_INCLUDE_WHAT_YOU_USE} )
750- set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE "" )
751- add_subdirectory (${OPENTRACING_DIR} )
752- set (BUILD_TESTING ${SAVED_BUILD_TESTING} )
753- set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE
754- ${SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE} )
755- else ()
756- message (
757- FATAL_ERROR
758- "\n opentracing-cpp package was not found. Please either provide it manually or clone with submodules. "
759- "To initialize, fetch and checkout any nested submodules, you can use the following command:\n "
760- "git submodule update --init --recursive" )
761- endif ()
762- else ()
763- message (STATUS "Using external opentracing-cpp" )
764- endif ()
765706 add_subdirectory (opentracing-shim)
766707endif ()
767708
0 commit comments