X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibmemcachedutil%2FCMakeLists.txt;h=f1b33fb6fac4af72a4601347c78a5f555c83550c;hb=d180295a76d7e43b357765a8a6434fdf5f7d3abd;hp=56fb0b0867ff8da6b52452af70da520038623278;hpb=785f671d065aa12941a98fca384248ac5cd6e527;p=awesomized%2Flibmemcached diff --git a/src/libmemcachedutil/CMakeLists.txt b/src/libmemcachedutil/CMakeLists.txt index 56fb0b08..f1b33fb6 100644 --- a/src/libmemcachedutil/CMakeLists.txt +++ b/src/libmemcachedutil/CMakeLists.txt @@ -5,17 +5,32 @@ add_library(libmemcachedutil SHARED flush.cc pid.cc ping.cc - pool.cc version.cc ) +if(CMAKE_USE_PTHREADS_INIT) + target_sources(libmemcachedutil PRIVATE pool.cc) +endif() add_library(memcachedutil ALIAS libmemcachedutil) set_target_properties(libmemcachedutil PROPERTIES + CXX_STANDARD ${CXX_STANDARD} LIBRARY_OUTPUT_NAME memcachedutil LIBRARY_OUTPUT_NAME_DEBUG memcachedutil-dbg - SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION} - VERSION v${LIBMEMCACHEDUTIL_VERSION}) + SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION}) target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED) -target_link_libraries(libmemcachedutil PUBLIC libmemcached Threads::Threads) +if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang) + set_target_properties(libmemcachedutil PROPERTIES + LINK_FLAGS "-Wl,-undefined,dynamic_lookup" + ) +endif() +if(MSVC) + set_target_properties(libmemcachedutil PROPERTIES + LINK_FLAGS "/FORCE:UNRESOLVED" + ) +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 @@ -26,6 +41,11 @@ target_include_directories(libmemcachedutil PUBLIC $) install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + LIBRARY + COMPONENT lib + ${TARGET_NAMELINK_COMPONENT} + DESTINATION ${CMAKE_INSTALL_LIBDIR}) export(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::) -install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake) +install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached:: + COMPONENT dev + DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)