ceph/cmake/modules/ExternalProjectHelper.cmake
Deepika Upadhyay 4b69d3a184 jaeger, build/op: add jaeger and it's dependencies as submodules
* This commit introduces Jaegertracing library as package libjaeger,
  pickwhich would be consumed by other ceph pacakges such as ceph-common0

* adds the following dependencies, which would be build from source
  using ExternalProjectHelper.cmake +IncludeJaeger.cmake +
  Build<package>.cmake scripts:

  jaegertracing: v0.6.0 [added as a submodule]
  opentracing: v1.6.0 [added as a submodule]
  thrift: 0.13.0 [added as a submodule]
  yaml-cpp: 0.6.0
  json(optional)

* updates Boost to be installed instead of being build only, because
  jaegertracing them during their build process.

* ceph.spec.in: introduces a default enabled jaeger packaging option,
  which could be disabled using --without-jaeger flag during rpmbuild

* note: libjaeger package if enabled will be a dependency on ceph-common, ceph-mon, rgw_common and transitively will be a dependency for modules that have them as  a dependency.

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2020-12-11 07:55:46 +00:00

18 lines
927 B
CMake

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 ()