X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibmemcachedutil%2FCMakeLists.txt;h=b49d0d030a4ed28efcb68cd0124be86de515eb3d;hb=aeac01630eed825d8a624e7fd7c107d47bb2e40c;hp=d087d63d19caa8c6be34a42c23014ae09234a726;hpb=5d6f037cd773ec09a91ed63bbc794a44b1ffbf84;p=awesomized%2Flibmemcached diff --git a/src/libmemcachedutil/CMakeLists.txt b/src/libmemcachedutil/CMakeLists.txt index d087d63d..b49d0d03 100644 --- a/src/libmemcachedutil/CMakeLists.txt +++ b/src/libmemcachedutil/CMakeLists.txt @@ -5,13 +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 LIBRARY_OUTPUT_NAME memcachedutil) +set_target_properties(libmemcachedutil PROPERTIES + CXX_STANDARD ${CXX_STANDARD} + LIBRARY_OUTPUT_NAME memcachedutil + LIBRARY_OUTPUT_NAME_DEBUG memcachedutil-dbg + 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 @@ -21,8 +40,7 @@ target_include_directories(libmemcachedutil PUBLIC $ $) -set_target_properties(libmemcachedutil PROPERTIES SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION}) -install(TARGETS libmemcachedutil EXPORT libmemcachedutil +install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -export(EXPORT libmemcachedutil) -install(EXPORT libmemcachedutil DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake) +export(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::) +install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)