X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibmemcachedutil%2FCMakeLists.txt;h=78e87d305fe1bac2dac89c87a178d37bcda9512b;hb=c8300fc7f692c617f1a583a9cb22732a840e7d3e;hp=e99e7256f295806be6807c82f9cdc15374eba9a7;hpb=803538dc057a316a7f58cbc96d4c526cc9fa7b94;p=awesomized%2Flibmemcached diff --git a/src/libmemcachedutil/CMakeLists.txt b/src/libmemcachedutil/CMakeLists.txt index e99e7256..78e87d30 100644 --- a/src/libmemcachedutil/CMakeLists.txt +++ b/src/libmemcachedutil/CMakeLists.txt @@ -1,20 +1,55 @@ - -add_library(libmemcachedutil SHARED +set(libmemcachedutil_sources ../libmemcached/backtrace.cc common.h flush.cc pid.cc ping.cc - pool.cc version.cc ) +add_library(libmemcachedutil SHARED) add_library(memcachedutil ALIAS libmemcachedutil) -set_target_properties(libmemcachedutil PROPERTIES LIBRARY_OUTPUT_NAME memcachedutil) +if(CMAKE_USE_PTHREADS_INIT) + target_sources(libmemcachedutil PRIVATE pool.cc) +endif() +set_target_properties(libmemcachedutil PROPERTIES + CXX_STANDARD ${CXX_STANDARD} + LIBRARY_OUTPUT_NAME memcachedutil + LIBRARY_OUTPUT_NAME_DEBUG memcachedutil-dbg + SOVERSION ${LIBMEMCACHEDUTIL_SO_SOVERSION} + VERSION ${LIBMEMCACHEDUTIL_SO_VERSION}) target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED) -target_link_libraries(libmemcachedutil libmemcached Threads::Threads) +if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang) + set_target_properties(libmemcachedutil PROPERTIES + LINK_FLAGS "-Wl,-undefined,dynamic_lookup" + ) +endif() +if(MSVC OR MINGW) + target_link_libraries(libmemcachedutil PUBLIC libmemcached) +endif() +target_link_libraries(libmemcachedutil PUBLIC Threads::Threads) +if(HAVE_LIBSASL) + target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL}) +endif() +target_include_directories(libmemcachedutil PRIVATE + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_BINARY_DIR}/src + ${CMAKE_BINARY_DIR}) +target_include_directories(libmemcachedutil PUBLIC + $ + $ + $) + +install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets + 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 libmemcachedutil-targets NAMESPACE libmemcached::) +install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached:: + COMPONENT dev + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) -set_target_properties(libmemcachedutil PROPERTIES SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION}) -install(TARGETS libmemcachedutil EXPORT libmemcachedutil - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -export(EXPORT libmemcachedutil) -install(EXPORT libmemcachedutil DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake) +target_sources(libmemcachedutil PRIVATE + ${libmemcachedutil_sources} + ${libmemcachedutil_includes})