X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibmemcachedutil%2FCMakeLists.txt;h=1fd0fa39895cc7bf6f71c232ddc6d90a37d9764a;hb=48dcc61a4919f6f3d5ee164630a843f2d8b8ade9;hp=cb281c3be8191af1be1f4a8dd306e405ec4639cc;hpb=f0718ff0a0d9f807ac98bbc8f028ba2f1c1c3577;p=awesomized%2Flibmemcached diff --git a/src/libmemcachedutil/CMakeLists.txt b/src/libmemcachedutil/CMakeLists.txt index cb281c3b..1fd0fa39 100644 --- a/src/libmemcachedutil/CMakeLists.txt +++ b/src/libmemcachedutil/CMakeLists.txt @@ -1,21 +1,32 @@ - -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) add_library(memcachedutil ALIAS libmemcachedutil) +if(CMAKE_USE_PTHREADS_INIT) + target_sources(libmemcachedutil PRIVATE pool.cc) +endif() set_target_properties(libmemcachedutil PROPERTIES - LIBRARY_OUTPUT_NAME memcachedutil - INSTALL_RPATH $ORIGIN - SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION} - VERSION v${LIBMEMCACHEDUTIL_VERSION}) + CXX_STANDARD ${CXX_STANDARD} + OUTPUT_NAME memcachedutil + OUTPUT_NAME_DEBUG memcachedutil-dbg + SOVERSION ${LIBMEMCACHEDUTIL_SO_SOVERSION} + VERSION ${LIBMEMCACHEDUTIL_SO_VERSION}) target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED) +if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang) + set_target_properties(libmemcachedutil PROPERTIES + LINK_FLAGS "-Wl,-undefined,dynamic_lookup" + ) +endif() target_link_libraries(libmemcachedutil PUBLIC libmemcached 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 @@ -25,7 +36,17 @@ target_include_directories(libmemcachedutil PUBLIC $ $) -install(TARGETS libmemcachedutil EXPORT libmemcachedutil - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -export(EXPORT libmemcachedutil) -install(EXPORT libmemcachedutil DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake) +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}) + +target_sources(libmemcachedutil PRIVATE + ${libmemcachedutil_sources} + ${libmemcachedutil_includes})