X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibhashkit%2FCMakeLists.txt;h=455570af3e3d78093882e303ee15a523cb441fcc;hb=HEAD;hp=ffe4026b69bf4d48e81c06bfad0e974652e48386;hpb=7e2b466107a65e22f1cc258ca8643922dbb60352;p=awesomized%2Flibmemcached diff --git a/src/libhashkit/CMakeLists.txt b/src/libhashkit/CMakeLists.txt index ffe4026b..455570af 100644 --- a/src/libhashkit/CMakeLists.txt +++ b/src/libhashkit/CMakeLists.txt @@ -1,13 +1,6 @@ -if(HAVE_HSIEH_HASH) - set(HSIEH_CC hsieh.cc) -else() - set(HSIEH_CC nohsieh.cc) -endif() - -add_library(libhashkit SHARED +set(libhashkit_sources aes.cc algorithm.cc - behavior.cc common.h crc32.cc digest.cc @@ -17,25 +10,25 @@ add_library(libhashkit SHARED function.cc has.cc hashkit.cc - ${HSIEH_CC} + hsieh.cc jenkins.cc - ketama.cc md5.cc murmur.cc murmur3.cc murmur3_api.cc one_at_a_time.cc - rijndael.cc str_algorithm.cc strerror.cc string.cc ) +add_library(libhashkit) add_library(hashkit ALIAS libhashkit) set_target_properties(libhashkit PROPERTIES - LIBRARY_OUTPUT_NAME hashkit - LIBRARY_OUTPUT_NAME_DEBUG hashkit-dbg - SOVERSION ${LIBHASHKIT_SO_VERSION} - VERSION v${LIBHASHKIT_VERSION}) + CXX_STANDARD ${CXX_STANDARD} + OUTPUT_NAME hashkit + OUTPUT_NAME_DEBUG hashkit-dbg + SOVERSION ${LIBHASHKIT_SO_SOVERSION} + VERSION ${LIBHASHKIT_SO_VERSION}) target_compile_options(libhashkit PRIVATE -DBUILDING_HASHKIT) target_include_directories(libhashkit PRIVATE ${CMAKE_SOURCE_DIR}/src @@ -45,15 +38,43 @@ target_include_directories(libhashkit PUBLIC $ $ $) + +if(ENABLE_OPENSSL_CRYPTO) + find_package(OpenSSL) + if(OPENSSL_FOUND) + if(OPENSSL_CRYPTO_LIBRARY) + target_compile_definitions(libhashkit PRIVATE HAVE_OPENSSL_CRYPTO) + target_link_libraries(libhashkit PUBLIC OpenSSL::Crypto) + pkgconfig_export(REQUIRES_PRIVATE libcrypto) + else() + message(WARNING "Could not find OpenSSL::Crypto") + endif() + endif() +endif() + +if (NOT OPENSSL_CRYPTO_LIBRARY) + set (libhashkit_sources ${libhashkit_sources} rijndael.cc) +endif() + configure_file(hashkitcon.h.in hashkitcon.h @ONLY) install(TARGETS libhashkit EXPORT libhashkit-targets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME COMPONENT bin DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR} + ${TARGET_NAMELINK_COMPONENT} + ) export(EXPORT libhashkit-targets NAMESPACE libmemcached::) -install(EXPORT libhashkit-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake) +install(EXPORT libhashkit-targets NAMESPACE libmemcached:: + COMPONENT dev + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) install_public_headers( libhashkit hashkit.h ) + +target_sources(libhashkit PRIVATE + ${libhashkit_sources} + ${libhashkit_includes})