From 1193805185b76950675d4e34c6a9b8bb1ad290be Mon Sep 17 00:00:00 2001 From: Ganesh Maharaj Mahalingam Date: Thu, 26 Jul 2018 18:01:46 -0700 Subject: [PATCH] crypto: Merge compilation of crypto accelerators under a single cmake. - Control ISA-L and QAT under a crypto makefile - Allow conditional compile of QAT. Signed-off-by: Ganesh Maharaj Mahalingam --- src/crypto/CMakeLists.txt | 5 +++++ src/crypto/isa-l/CMakeLists.txt | 3 +-- src/crypto/qat/CMakeLists.txt | 25 +++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 src/crypto/qat/CMakeLists.txt diff --git a/src/crypto/CMakeLists.txt b/src/crypto/CMakeLists.txt index ed8e108abd0f..357ca66beed2 100644 --- a/src/crypto/CMakeLists.txt +++ b/src/crypto/CMakeLists.txt @@ -1,5 +1,10 @@ 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() diff --git a/src/crypto/isa-l/CMakeLists.txt b/src/crypto/isa-l/CMakeLists.txt index 662dbdeba725..4ed888c2f0aa 100644 --- a/src/crypto/isa-l/CMakeLists.txt +++ b/src/crypto/isa-l/CMakeLists.txt @@ -24,7 +24,6 @@ set(isal_crypto_plugin_srcs 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) @@ -33,4 +32,4 @@ endif(HAVE_GOOD_YASM_ELF64) 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}) diff --git a/src/crypto/qat/CMakeLists.txt b/src/crypto/qat/CMakeLists.txt new file mode 100644 index 000000000000..ea4c1e25d14a --- /dev/null +++ b/src/crypto/qat/CMakeLists.txt @@ -0,0 +1,25 @@ +## +# 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}) -- 2.47.3