X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibhashkit%2FCMakeLists.txt;h=455570af3e3d78093882e303ee15a523cb441fcc;hb=4a434c5a70f3c58c0efbbe9280eef6a7948303f4;hp=06b0c31510acf4494f59ef3506f8ef1298b302b4;hpb=c0f50dec5334f54cf060b1f9c4250c72649b4ff2;p=awesomized%2Flibmemcached diff --git a/src/libhashkit/CMakeLists.txt b/src/libhashkit/CMakeLists.txt index 06b0c315..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,20 +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 - COMPONENT lib - NAMELINK_COMPONENT dev - 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:: COMPONENT dev - DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake) + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) install_public_headers( libhashkit hashkit.h ) + +target_sources(libhashkit PRIVATE + ${libhashkit_sources} + ${libhashkit_includes})