@@ -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
@@ -310,49 +301,7 @@ endif()
310301include (GNUInstallDirs)
311302
312303if (WITH_PROMETHEUS)
313- find_package (prometheus-cpp CONFIG QUIET )
314- if (NOT prometheus-cpp_FOUND)
315- message (STATUS "Trying to use local prometheus-cpp from submodule" )
316- if (EXISTS ${PROJECT_SOURCE_DIR} /third_party/prometheus-cpp/.git)
317- set (SAVED_ENABLE_TESTING ${ENABLE_TESTING} )
318- set (SAVED_CMAKE_CXX_CLANG_TIDY ${CMAKE_CXX_CLANG_TIDY} )
319- set (SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE
320- ${CMAKE_CXX_INCLUDE_WHAT_YOU_USE} )
321- set (ENABLE_TESTING OFF )
322- set (CMAKE_CXX_CLANG_TIDY "" )
323- set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE "" )
324- add_subdirectory (third_party/prometheus-cpp)
325- set (ENABLE_TESTING ${SAVED_ENABLE_TESTING} )
326- set (CMAKE_CXX_CLANG_TIDY ${SAVED_CMAKE_CXX_CLANG_TIDY} )
327- set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE
328- ${SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE} )
329-
330- # Get the version of the prometheus-cpp submodule
331- find_package (Git QUIET )
332- if (Git_FOUND)
333- execute_process (
334- COMMAND ${GIT_EXECUTABLE} describe --tags --always
335- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} /third_party/prometheus-cpp
336- OUTPUT_VARIABLE prometheus-cpp_VERSION
337- OUTPUT_STRIP_TRAILING_WHITESPACE)
338- string (REGEX REPLACE "^v" "" prometheus-cpp_VERSION
339- "${prometheus-cpp_VERSION}" )
340- endif ()
341-
342- message (
343- STATUS
344- "Using local prometheus-cpp from submodule. Version = ${prometheus-cpp_VERSION}"
345- )
346- else ()
347- message (
348- FATAL_ERROR
349- "\n prometheus-cpp package was not found. Please either provide it manually or clone with submodules. "
350- "To initialize, fetch and checkout any nested submodules, you can use the following command:\n "
351- "git submodule update --init --recursive" )
352- endif ()
353- else ()
354- message (STATUS "Using external prometheus-cpp" )
355- endif ()
304+ include ("${opentelemetry-cpp_SOURCE_DIR}/cmake/prometheus-cpp.cmake" )
356305endif ()
357306
358307if (WITH_OTLP_GRPC
@@ -497,6 +446,14 @@ if((NOT WITH_API_ONLY) AND USE_NLOHMANN_JSON)
497446 include ("${opentelemetry-cpp_SOURCE_DIR}/cmake/nlohmann-json.cmake" )
498447endif ()
499448
449+ #
450+ # Do we need OpenTracing ?
451+ #
452+
453+ if (WITH_OPENTRACING)
454+ include ("${opentelemetry-cpp_SOURCE_DIR}/cmake/opentracing-cpp.cmake" )
455+ endif ()
456+
500457if (OTELCPP_MAINTAINER_MODE)
501458 if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
502459 message (STATUS "Building with gcc in maintainer mode." )
@@ -696,10 +653,18 @@ if(ZLIB_FOUND)
696653 message (STATUS "ZLIB: ${ZLIB_VERSION} " )
697654endif ()
698655if (USE_NLOHMANN_JSON)
699- message (STATUS "nlohmann-json: ${nlohmann_json_VERSION} " )
656+ message (
657+ STATUS "nlohmann-json: ${nlohmann_json_VERSION} (${nlohmann_json_PROVIDER} )"
658+ )
659+ endif ()
660+ if (WITH_PROMETHEUS)
661+ message (
662+ STATUS
663+ "prometheus-cpp: ${prometheus-cpp_VERSION} (${prometheus-cpp_PROVIDER})" )
700664endif ()
701- if (prometheus-cpp_FOUND)
702- message (STATUS "prometheus-cpp: ${prometheus-cpp_VERSION}" )
665+ if (WITH_OPENTRACING)
666+ message (
667+ STATUS "opentracing-cpp: ${OpenTracing_VERSION} (${OpenTracing_PROVIDER} )" )
703668endif ()
704669message (STATUS "---------------------------------------------" )
705670
@@ -724,30 +689,6 @@ endif()
724689add_subdirectory (api)
725690
726691if (WITH_OPENTRACING)
727- find_package (OpenTracing CONFIG QUIET )
728- if (NOT OpenTracing_FOUND)
729- set (OPENTRACING_DIR "third_party/opentracing-cpp" )
730- message (STATUS "Trying to use local ${OPENTRACING_DIR} from submodule" )
731- if (EXISTS "${PROJECT_SOURCE_DIR} /${OPENTRACING_DIR} /.git" )
732- set (SAVED_BUILD_TESTING ${BUILD_TESTING} )
733- set (BUILD_TESTING OFF )
734- set (SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE
735- ${CMAKE_CXX_INCLUDE_WHAT_YOU_USE} )
736- set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE "" )
737- add_subdirectory (${OPENTRACING_DIR} )
738- set (BUILD_TESTING ${SAVED_BUILD_TESTING} )
739- set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE
740- ${SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE} )
741- else ()
742- message (
743- FATAL_ERROR
744- "\n opentracing-cpp package was not found. Please either provide it manually or clone with submodules. "
745- "To initialize, fetch and checkout any nested submodules, you can use the following command:\n "
746- "git submodule update --init --recursive" )
747- endif ()
748- else ()
749- message (STATUS "Using external opentracing-cpp" )
750- endif ()
751692 add_subdirectory (opentracing-shim)
752693endif ()
753694
0 commit comments