@@ -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." )
@@ -700,8 +657,14 @@ if(USE_NLOHMANN_JSON)
700657 STATUS "nlohmann-json: ${nlohmann_json_VERSION} (${nlohmann_json_PROVIDER} )"
701658 )
702659endif ()
703- if (prometheus-cpp_FOUND)
704- message (STATUS "prometheus-cpp: ${prometheus-cpp_VERSION}" )
660+ if (WITH_PROMETHEUS)
661+ message (
662+ STATUS
663+ "prometheus-cpp: ${prometheus-cpp_VERSION} (${prometheus-cpp_PROVIDER})" )
664+ endif ()
665+ if (WITH_OPENTRACING)
666+ message (
667+ STATUS "opentracing-cpp: ${OpenTracing_VERSION} (${OpenTracing_PROVIDER} )" )
705668endif ()
706669message (STATUS "---------------------------------------------" )
707670
@@ -731,30 +694,6 @@ include_directories(api/include)
731694add_subdirectory (api)
732695
733696if (WITH_OPENTRACING)
734- find_package (OpenTracing CONFIG QUIET )
735- if (NOT OpenTracing_FOUND)
736- set (OPENTRACING_DIR "third_party/opentracing-cpp" )
737- message (STATUS "Trying to use local ${OPENTRACING_DIR} from submodule" )
738- if (EXISTS "${PROJECT_SOURCE_DIR} /${OPENTRACING_DIR} /.git" )
739- set (SAVED_BUILD_TESTING ${BUILD_TESTING} )
740- set (BUILD_TESTING OFF )
741- set (SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE
742- ${CMAKE_CXX_INCLUDE_WHAT_YOU_USE} )
743- set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE "" )
744- add_subdirectory (${OPENTRACING_DIR} )
745- set (BUILD_TESTING ${SAVED_BUILD_TESTING} )
746- set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE
747- ${SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE} )
748- else ()
749- message (
750- FATAL_ERROR
751- "\n opentracing-cpp package was not found. Please either provide it manually or clone with submodules. "
752- "To initialize, fetch and checkout any nested submodules, you can use the following command:\n "
753- "git submodule update --init --recursive" )
754- endif ()
755- else ()
756- message (STATUS "Using external opentracing-cpp" )
757- endif ()
758697 add_subdirectory (opentracing-shim)
759698endif ()
760699
0 commit comments