X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibmemcachedutil%2FCMakeLists.txt;h=e08de1884d47fdc93b34a2a65bb4867a324b9e3b;hb=118abd2f53e24a4f312ad0fcd484f6f8dbe5094c;hp=f09b2a2d96db604e1e80b5b0f64156ac08b1b556;hpb=5e760300d15ef4c5b7eed3fb9f37920ebca2f6ec;p=awesomized%2Flibmemcached diff --git a/src/libmemcachedutil/CMakeLists.txt b/src/libmemcachedutil/CMakeLists.txt index f09b2a2d..e08de188 100644 --- a/src/libmemcachedutil/CMakeLists.txt +++ b/src/libmemcachedutil/CMakeLists.txt @@ -1,19 +1,50 @@ add_library(libmemcachedutil SHARED ../libmemcached/backtrace.cc + common.h 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 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 + $ + $ + $) -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) +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_DATADIR}/${PROJECT_NAME}/cmake)