X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibhashkit%2FCMakeLists.txt;h=455570af3e3d78093882e303ee15a523cb441fcc;hb=48dcc61a4919f6f3d5ee164630a843f2d8b8ade9;hp=82e4d332a98c2d18c75955c4c2b83d57387b21c9;hpb=26f53452d85d209c5275da203c9947135a8ec667;p=awesomized%2Flibmemcached diff --git a/src/libhashkit/CMakeLists.txt b/src/libhashkit/CMakeLists.txt index 82e4d332..455570af 100644 --- a/src/libhashkit/CMakeLists.txt +++ b/src/libhashkit/CMakeLists.txt @@ -1,4 +1,4 @@ -add_library(libhashkit SHARED +set(libhashkit_sources aes.cc algorithm.cc common.h @@ -17,17 +17,18 @@ add_library(libhashkit SHARED 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 CXX_STANDARD ${CXX_STANDARD} - LIBRARY_OUTPUT_NAME hashkit - LIBRARY_OUTPUT_NAME_DEBUG hashkit-dbg - SOVERSION ${LIBHASHKIT_SO_VERSION}) + 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 @@ -37,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})