]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: rename qatzip->QATzip and support pkg-config
authorCasey Bodley <cbodley@redhat.com>
Fri, 24 Nov 2023 17:41:44 +0000 (12:41 -0500)
committerCasey Bodley <cbodley@redhat.com>
Wed, 7 Feb 2024 15:37:47 +0000 (10:37 -0500)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
CMakeLists.txt
cmake/modules/FindQATzip.cmake [new file with mode: 0644]
cmake/modules/Findqatzip.cmake [deleted file]
src/CMakeLists.txt
src/compressor/CMakeLists.txt

index 213c6b6947311262a2ef77dee1ee16e7938e3b51..edb653a68fda217d7e4d6f1a2125e8efcd4102b9 100644 (file)
@@ -309,6 +309,7 @@ option(WITH_BLUEFS "libbluefs library" OFF)
 
 option(WITH_QATLIB "Enable QAT with qatlib" OFF)
 option(WITH_QATDRV "Enable QAT with out-of-tree driver" OFF)
+option(WITH_QATZIP "Enable QATzip" OFF)
 
 if(WITH_QATDRV)
   find_package(QatDrv REQUIRED COMPONENTS qat_s usdm_drv_s)
@@ -318,10 +319,9 @@ elseif(WITH_QATLIB)
   set(HAVE_QAT TRUE)
 endif()
 
-option(WITH_QATZIP "Enable QATZIP" OFF)
 if(WITH_QATZIP)
-  find_package(qatzip REQUIRED)
-  set(HAVE_QATZIP ${qatzip_FOUND})
+  find_package(QATzip REQUIRED)
+  set(HAVE_QATZIP TRUE)
 endif(WITH_QATZIP)
 
 # needs mds and? XXX
diff --git a/cmake/modules/FindQATzip.cmake b/cmake/modules/FindQATzip.cmake
new file mode 100644 (file)
index 0000000..e61f5f7
--- /dev/null
@@ -0,0 +1,32 @@
+# - Find QATzip
+# Find the QATzip compression library and includes
+#
+# QATzip_INCLUDE_DIR - where to find QATzip.h, etc.
+# QATzip_LIBRARIES - List of libraries when using QATzip.
+# QATzip_FOUND - True if QATzip found.
+
+find_package(PkgConfig QUIET)
+pkg_search_module(PC_QATzip qatzip QUIET)
+
+find_path(QATzip_INCLUDE_DIR
+  NAMES qatzip.h
+  HINTS ${PC_QATzip_INCLUDE_DIRS})
+
+find_library(QATzip_LIBRARIES
+  NAMES qatzip
+  HINTS ${PC_QATzip_LIBRARY_DIRS})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(QATzip DEFAULT_MSG QATzip_LIBRARIES QATzip_INCLUDE_DIR)
+
+mark_as_advanced(
+  QATzip_LIBRARIES
+  QATzip_INCLUDE_DIR)
+
+if(QATzip_FOUND AND NOT TARGET QAT::zip)
+  add_library(QAT::zip SHARED IMPORTED)
+  set_target_properties(QAT::zip PROPERTIES
+    INTERFACE_INCLUDE_DIRECTORIES "${QATzip_INCLUDE_DIR}"
+    IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+    IMPORTED_LOCATION "${QATzip_LIBRARIES}")
+endif()
diff --git a/cmake/modules/Findqatzip.cmake b/cmake/modules/Findqatzip.cmake
deleted file mode 100644 (file)
index 2d0f2ac..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# - Find qatzip
-# Find the qatzip compression library and includes
-#
-# qatzip_INCLUDE_DIR - where to find qatzip.h, etc.
-# qatzip_LIBRARIES - List of libraries when using qatzip.
-# qatzip_FOUND - True if qatzip found.
-
-find_path(qatzip_INCLUDE_DIR NAMES qatzip.h)
-find_library(qatzip_LIBRARIES NAMES qatzip HINTS /usr/local/lib64/)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(qatzip DEFAULT_MSG qatzip_LIBRARIES qatzip_INCLUDE_DIR)
-
-mark_as_advanced(
-  qatzip_LIBRARIES
-  qatzip_INCLUDE_DIR)
-
-if(qatzip_FOUND AND NOT TARGET qatzip::qatzip)
-  add_library(qatzip::qatzip SHARED IMPORTED)
-  set_target_properties(qatzip::qatzip PROPERTIES
-    INTERFACE_INCLUDE_DIRECTORIES "${qatzip_INCLUDE_DIR}"
-    IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-    IMPORTED_LOCATION "${qatzip_LIBRARIES}")
-endif()
index d266eb72598b013b4ecee7c3d46e696167a7c076..23196619eb8fc971f3967d007133aac26318a36a 100644 (file)
@@ -506,7 +506,8 @@ if(NOT WITH_SYSTEM_BOOST)
 endif()
 
 if(HAVE_QATZIP)
-  list(APPEND ceph_common_deps ${qatzip_LIBRARIES})
+  # TODO: only the compression plugins should depend on QAT
+  list(APPEND ceph_common_deps QAT::zip)
 endif()
 
 if(WITH_DPDK)
index 1f9cab5f3c7086b4a12ba58875c67bad04cdfe84..d9512e87408e06b1a900acc6ffa716e7bd28d688 100644 (file)
@@ -10,7 +10,7 @@ if(HAVE_QATZIP AND HAVE_QAT)
   target_link_libraries(compressor_objs PRIVATE
                         QAT::qat
                         QAT::usdm
-                        qatzip::qatzip
+                        QAT::zip
                        )
 endif()
 add_dependencies(compressor_objs legacy-option-headers)