X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibmemcachedprotocol%2FCMakeLists.txt;h=b28afe7200ed258e4d6ae1c88b45df4d62fdb3ad;hb=cd16d0444b3a81536463bfb86de513c682adde63;hp=14967dd55e0efa602e2d29295b375a6f15b954bc;hpb=785f671d065aa12941a98fca384248ac5cd6e527;p=awesomized%2Flibmemcached diff --git a/src/libmemcachedprotocol/CMakeLists.txt b/src/libmemcachedprotocol/CMakeLists.txt index 14967dd5..b28afe72 100644 --- a/src/libmemcachedprotocol/CMakeLists.txt +++ b/src/libmemcachedprotocol/CMakeLists.txt @@ -1,20 +1,33 @@ +check_include(umem.h) -add_library(libmemcachedprotocol SHARED +set(libmemcachedprotocol_sources ascii_handler.c binary_handler.c cache.c common.h handler.c pedantic.c + ../libmemcached/byteorder.cc ) +add_library(libmemcachedprotocol SHARED) add_library(memcachedprotocol ALIAS libmemcachedprotocol) set_target_properties(libmemcachedprotocol PROPERTIES + CXX_STANDARD ${CXX_STANDARD} LIBRARY_OUTPUT_NAME memcachedprotocol LIBRARY_OUTPUT_NAME_DEBUG memcachedprotocol-dbg - SOVERSION ${LIBMEMCACHEDPROTOCOL_SO_VERSION} - VERSION v${LIBMEMCACHEDPROTOCOL_VERSION}) + SOVERSION ${LIBMEMCACHEDPROTOCOL_SO_SOVERSION} + VERSION ${LIBMEMCACHEDPROTOCOL_SO_VERSION}) target_compile_definitions(libmemcachedprotocol PRIVATE -DBUILDING_LIBMEMCACHED) -target_link_libraries(libmemcachedprotocol PUBLIC libmemcached Threads::Threads) +if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang) + set_target_properties(libmemcachedprotocol PROPERTIES + LINK_FLAGS "-Wl,-undefined,dynamic_lookup" + ) +endif() +target_link_libraries(libmemcachedprotocol PRIVATE p9y) +target_link_libraries(libmemcachedprotocol PUBLIC Threads::Threads) +if(MSVC OR MINGW) + target_link_libraries(libmemcachedprotocol PUBLIC wsock32 ws2_32) +endif() target_include_directories(libmemcachedprotocol PRIVATE ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/src @@ -25,6 +38,17 @@ target_include_directories(libmemcachedprotocol PUBLIC $) install(TARGETS libmemcachedprotocol EXPORT libmemcachedprotocol-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 libmemcachedprotocol-targets NAMESPACE libmemcached::) -install(EXPORT libmemcachedprotocol-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake) +install(EXPORT libmemcachedprotocol-targets NAMESPACE libmemcached:: + COMPONENT dev + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) + +target_sources(libmemcachedprotocol PRIVATE + ${libmemcachedprotocol_sources} + ${libmemcachedprotocol_includes} + )