2018-10-29 07:34:52 +00:00
|
|
|
From 7535e5f47353658f966eb4dce344154678463e04 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Kefu Chai <tchaikov@gmail.com>
|
|
|
|
Date: Mon, 29 Oct 2018 19:14:54 +0800
|
|
|
|
Subject: [PATCH] cmake: add Findrados.cmake and use it
|
|
|
|
|
|
|
|
ceph has extracted libradospp out from librados. the former offers the
|
|
|
|
C++ API, while the latter offers the C API.
|
|
|
|
|
|
|
|
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
|
|
|
|
---
|
|
|
|
CMakeLists.txt | 3 ++-
|
2018-11-15 01:47:27 +00:00
|
|
|
cmake/modules/Findradospp.cmake | 31 +++++++++++++++++++++++++++++++
|
|
|
|
2 files changed, 33 insertions(+), 1 deletion(-)
|
2018-10-29 07:34:52 +00:00
|
|
|
create mode 100644 cmake/modules/Findradospp.cmake
|
|
|
|
|
|
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
2018-11-15 01:47:27 +00:00
|
|
|
index 2a4bdb6..96972a2 100644
|
2018-10-29 07:34:52 +00:00
|
|
|
--- a/CMakeLists.txt
|
|
|
|
+++ b/CMakeLists.txt
|
|
|
|
@@ -731,7 +731,8 @@ option(WITH_LIBRADOS "Build with librados" OFF)
|
|
|
|
if(WITH_LIBRADOS)
|
|
|
|
list(APPEND SOURCES
|
|
|
|
utilities/env_librados.cc)
|
|
|
|
- list(APPEND THIRDPARTY_LIBS rados)
|
|
|
|
+ find_package(radospp REQUIRED)
|
|
|
|
+ list(APPEND THIRDPARTY_LIBS rados::radospp)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(WIN32)
|
|
|
|
diff --git a/cmake/modules/Findradospp.cmake b/cmake/modules/Findradospp.cmake
|
|
|
|
new file mode 100644
|
2018-11-15 01:47:27 +00:00
|
|
|
index 0000000..4f1672a
|
2018-10-29 07:34:52 +00:00
|
|
|
--- /dev/null
|
|
|
|
+++ b/cmake/modules/Findradospp.cmake
|
2018-11-15 01:47:27 +00:00
|
|
|
@@ -0,0 +1,31 @@
|
2018-10-29 07:34:52 +00:00
|
|
|
+# - Find RADOS
|
|
|
|
+# Find librados library and includes
|
|
|
|
+#
|
|
|
|
+# RADOSPP_INCLUDE_DIR - where to find librados.hpp.
|
|
|
|
+# RADOSPP_LIBRARIES - List of libraries when using radospp.
|
|
|
|
+# radospp_FOUND - True if radospp found.
|
|
|
|
+
|
|
|
|
+find_path(RADOSPP_INCLUDE_DIR
|
|
|
|
+ NAMES rados/librados.hpp
|
|
|
|
+ HINTS ${LIBRADOS_ROOT}/include)
|
|
|
|
+
|
|
|
|
+find_library(RADOSPP_LIBRARIES
|
|
|
|
+ NAMES radospp
|
|
|
|
+ HINTS ${LIBRADOS_ROOT}/lib)
|
|
|
|
+
|
|
|
|
+include(FindPackageHandleStandardArgs)
|
|
|
|
+find_package_handle_standard_args(radospp
|
2018-11-15 01:47:27 +00:00
|
|
|
+ FOUND_VAR radospp_FOUND
|
|
|
|
+ REQUIRED_VARS RADOSPP_LIBRARIES RADOSPP_INCLUDE_DIR)
|
2018-10-29 07:34:52 +00:00
|
|
|
+
|
|
|
|
+mark_as_advanced(
|
|
|
|
+ RADOSPP_INCLUDE_DIR
|
|
|
|
+ RADOSPP_LIBRARIES)
|
|
|
|
+
|
|
|
|
+if(radospp_FOUND AND NOT (TARGET rados::radospp))
|
|
|
|
+ add_library(rados::radospp UNKNOWN IMPORTED)
|
|
|
|
+ set_target_properties(rados::radospp PROPERTIES
|
|
|
|
+ INTERFACE_INCLUDE_DIRECTORIES "${RADOSPP_INCLUDE_DIR}"
|
|
|
|
+ IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
|
|
|
+ IMPORTED_LOCATION "${RADOSPP_LIBRARIES}")
|
|
|
|
+endif()
|
|
|
|
--
|
|
|
|
2.19.1
|
|
|
|
|