25 add_library(libhashkit SHARED)
26 add_library(hashkit ALIAS libhashkit)
27 set_target_properties(libhashkit PROPERTIES
28 CXX_STANDARD ${CXX_STANDARD}
29 LIBRARY_OUTPUT_NAME hashkit
30 LIBRARY_OUTPUT_NAME_DEBUG hashkit-dbg
31 SOVERSION ${LIBHASHKIT_SO_SOVERSION}
32 VERSION ${LIBHASHKIT_SO_VERSION})
33 target_compile_options(libhashkit PRIVATE -DBUILDING_HASHKIT)
34 target_include_directories(libhashkit PRIVATE
35 ${CMAKE_SOURCE_DIR}/src
36 ${CMAKE_BINARY_DIR}/src
38 target_include_directories(libhashkit PUBLIC
39 $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
40 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
41 $<INSTALL_INTERFACE:include>)
45 message(WARNING "crypto library not found")
47 add_compile_definitions(WITH_OPENSSL)
48 target_link_libraries(libhashkit PUBLIC OpenSSL::Crypto)
51 configure_file(hashkitcon.h.in hashkitcon.h @ONLY)
53 install(TARGETS libhashkit EXPORT libhashkit-targets
54 RUNTIME COMPONENT bin DESTINATION ${CMAKE_INSTALL_BINDIR}
55 ARCHIVE COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
56 LIBRARY COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
57 ${TARGET_NAMELINK_COMPONENT}
59 export(EXPORT libhashkit-targets NAMESPACE libmemcached::)
60 install(EXPORT libhashkit-targets NAMESPACE libmemcached::
62 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
64 install_public_headers(
70 target_sources(libhashkit PRIVATE
72 ${libhashkit_includes})