mirror of
https://github.com/ceph/ceph
synced 2024-12-24 20:33:27 +00:00
f5e9e1a4f5
cmake should fail when generating the building system, if the necessary development libraries or the header files are missing. in this change, Findmotr.cmake is added to detect the motr library and header so that we can use it to find the motr package before using it. See-also: https://tracker.ceph.com/issues/57079 Signed-off-by: Kefu Chai <tchaikov@gmail.com>
51 lines
1.4 KiB
CMake
51 lines
1.4 KiB
CMake
# - Find libmotr
|
|
# Find the motr and motrhl libraries and includes
|
|
#
|
|
# motr_INCLUDE_DIR - where to find motr.hpp etc.
|
|
# motr_LIBRARIES - List of libraries when using motr.
|
|
# motr_FOUND - True if motr found.
|
|
|
|
find_package(PkgConfig QUIET REQUIRED)
|
|
pkg_search_module(PC_motr QUIET motr)
|
|
|
|
find_path(motr_INCLUDE_DIR
|
|
NAMES motr/config.h
|
|
HINTS ${PC_motr_INCLUDE_DIRS})
|
|
find_library(motr_LIBRARY
|
|
NAMES motr
|
|
HINTS ${PC_motr_LIBRARY_DIRS})
|
|
find_library(motr_helpers_LIBRARY
|
|
NAMES motr-helpers
|
|
HINTS ${PC_motr_LIBRARY_DIRS})
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(motr
|
|
DEFAULT_MSG
|
|
motr_INCLUDE_DIR
|
|
motr_LIBRARY
|
|
motr_helpers_LIBRARY)
|
|
|
|
mark_as_advanced(
|
|
motr_INCLUDE_DIR
|
|
motr_LIBRARY
|
|
motr_helpers_LIBRARY)
|
|
|
|
if(motr_FOUND)
|
|
set(motr_LIBRARIES ${motr_LIBRARY} ${motr_helpers_LIBRARY})
|
|
if(NOT (TARGET motr::helpers))
|
|
add_library(motr::helpers UNKNOWN IMPORTED)
|
|
set_target_properties(motr::helpers PROPERTIES
|
|
IMPORTED_LOCATION "${motr_helpers_LIBRARY}")
|
|
endif()
|
|
if(NOT (TARGET motr::motr))
|
|
add_library(motr::motr UNKNOWN IMPORTED)
|
|
set_target_properties(motr::motr PROPERTIES
|
|
INTERFACE_COMPILE_DEFINITIONS "M0_EXTERN=extern;M0_INTERNAL="
|
|
INTERFACE_COMPILE_OPTIONS "-Wno-attributes"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${motr_INCLUDE_DIR}"
|
|
INTERFACE_LINK_LIBRARIES motr::helpers
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
IMPORTED_LOCATION "${motr_LIBRARY}")
|
|
endif()
|
|
endif()
|