# Find<package>.cmake
# Boost Libraries: uses ceph build boost cmake/modules/BuildBoost.cmake
+include(BuildOpenTracing)
+
+# will do all linking and path setting
+function(set_library_properties_for_external_project _target _lib)
+ # Manually create the directory, it will be created as part of the build,
+ # but this runs in the configuration phase, and CMake generates an error if
+ # we add an include directory that does not exist yet.
+ set(_libfullname "${CMAKE_SHARED_LIBRARY_PREFIX}${_lib}${CMAKE_SHARED_LIBRARY_SUFFIX}")
+ set(_libpath "${CMAKE_BINARY_DIR}/external/lib/${_libfullname}")
+ set(_includepath "${CMAKE_BINARY_DIR}/external/include")
+ message(STATUS "Configuring ${_target} with ${_libpath}")
+ add_library(${_target} SHARED IMPORTED)
+ add_dependencies(${_target} ${_lib})
+
+ file(MAKE_DIRECTORY "${_includepath}")
+ set_target_properties(${_target} PROPERTIES
+ INTERFACE_LINK_LIBRARIES "${_libpath}"
+ IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+ IMPORTED_LOCATION "${_libpath}"
+ INTERFACE_INCLUDE_DIRECTORIES "${_includepath}")
+endfunction()
+
function(build_jaeger)
set(Jaeger_SOURCE_DIR "${CMAKE_SOURCE_DIR}/src/jaegertracing/jaeger-client-cpp")
set(Jaeger_INSTALL_DIR "${CMAKE_BINARY_DIR}/external")
DEPENDS "${dependencies}"
BUILD_BYPRODUCTS ${CMAKE_BINARY_DIR}/external/lib/libjaegertracing.so
)
+
+ set_library_properties_for_external_project(opentracing::libopentracing
+ opentracing)
+ set_library_properties_for_external_project(jaegertracing::libjaegertracing
+ jaegertracing)
endfunction()
+++ /dev/null
-function (set_library_properties_for_external_project _target _lib)
- # Manually create the directory, it will be created as part of the build,
- # but this runs in the configuration phase, and CMake generates an error if
- # we add an include directory that does not exist yet.
- set(_libfullname "${CMAKE_SHARED_LIBRARY_PREFIX}${_lib}${CMAKE_SHARED_LIBRARY_SUFFIX}")
- set(_libpath "${CMAKE_BINARY_DIR}/external/lib/${_libfullname}")
- set(_includepath "${CMAKE_BINARY_DIR}/external/include")
- message(STATUS "Configuring ${_target} with ${_libpath}")
-
- file(MAKE_DIRECTORY "${_includepath}")
- set_target_properties(${_target} PROPERTIES
- INTERFACE_LINK_LIBRARIES "${_libpath}"
- IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
- IMPORTED_LOCATION "${_libpath}"
- INTERFACE_INCLUDE_DIRECTORIES "${_includepath}")
- # set_property(TARGET ${_target} APPEND PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES "CXX")
-endfunction ()
+++ /dev/null
-include(BuildJaeger)
-include(BuildOpenTracing)
-
-include(ExternalProjectHelper)
-
-build_jaeger()
-
-add_library(opentracing::libopentracing SHARED IMPORTED)
-add_dependencies(opentracing::libopentracing opentracing)
-add_library(jaegertracing::libjaegertracing SHARED IMPORTED)
-add_dependencies(jaegertracing::libjaegertracing Jaeger)
-add_library(thrift::libthrift SHARED IMPORTED)
-add_dependencies(thrift::libthrift thrift)
-
-#(set_library_properties_for_external_project _target _lib)
-set_library_properties_for_external_project(opentracing::libopentracing
- opentracing)
-set_library_properties_for_external_project(jaegertracing::libjaegertracing
- jaegertracing)
-set_library_properties_for_external_project(thrift::libthrift
- thrift)
list(APPEND jaeger_base
opentracing::libopentracing
jaegertracing::libjaegertracing)
+
+ build_jaeger()
+
target_link_libraries(jaeger-base INTERFACE
yaml-cpp::yaml-cpp
opentracing::libopentracing