add_custom_target(crypto_plugins)
+set(crypto_plugin_dir ${CMAKE_INSTALL_PKGLIBDIR}/crypto)
if(HAVE_INTEL AND HAVE_BETTER_YASM_ELF64 AND (NOT APPLE))
add_subdirectory(isa-l)
endif()
+
+if(WITH_QAT)
+ add_subdirectory(qat)
+endif()
add_library(isal_crypto_plugin_objs OBJECT ${isal_crypto_plugin_srcs})
target_include_directories(isal_crypto_plugin_objs PRIVATE ${isal_dir}/include)
-set(isal_crypto_plugin_dir ${CMAKE_INSTALL_PKGLIBDIR}/crypto)
if(HAVE_GOOD_YASM_ELF64)
add_dependencies(crypto_plugins ceph_crypto_isal)
add_library(ceph_crypto_isal SHARED ${isal_crypto_plugin_srcs})
target_include_directories(ceph_crypto_isal PRIVATE ${isal_dir}/include)
set_target_properties(ceph_crypto_isal PROPERTIES VERSION 1.0.0 SOVERSION 1)
-install(TARGETS ceph_crypto_isal DESTINATION ${isal_crypto_plugin_dir})
+install(TARGETS ceph_crypto_isal DESTINATION ${crypto_plugin_dir})
--- /dev/null
+##
+# QAT wrapper for Ceph
+##
+
+# Build QAT driver library first
+include(BuildQatDrv)
+
+set(qat_crypto_plugin_srcs
+ qat_crypto_accel.cc
+ qat_crypto_plugin.cc
+ qcccrypto.cc)
+
+add_library(ceph_crypto_qat SHARED ${qat_crypto_plugin_srcs})
+add_dependencies(ceph_crypto_qat QatDrv)
+target_include_directories(ceph_crypto_qat PRIVATE
+ ${EXTRA_LIBS}
+ ${QatDrv_INCLUDE_DIRS})
+
+add_dependencies(crypto_plugins ceph_crypto_qat)
+
+target_link_libraries(ceph_crypto_qat
+ ${QatDrv_LIBRARIES})
+add_dependencies(crypto_plugins ceph_crypto_qat)
+set_target_properties(ceph_crypto_qat PROPERTIES VERSION 1.0.0 SOVERSION 1)
+install(TARGETS ceph_crypto_qat DESTINATION ${crypto_plugin_dir})