1 set(libmemcachedutil_sources
2 ../libmemcached/backtrace.cc
9 add_library(libmemcachedutil)
10 add_library(memcachedutil ALIAS libmemcachedutil)
11 if(CMAKE_USE_PTHREADS_INIT)
12 target_sources(libmemcachedutil PRIVATE pool.cc)
14 set_target_properties(libmemcachedutil PROPERTIES
15 CXX_STANDARD ${CXX_STANDARD}
16 OUTPUT_NAME memcachedutil
17 OUTPUT_NAME_DEBUG memcachedutil-dbg
18 SOVERSION ${LIBMEMCACHEDUTIL_SO_SOVERSION}
19 VERSION ${LIBMEMCACHEDUTIL_SO_VERSION})
20 target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED)
21 if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
22 set_target_properties(libmemcachedutil PROPERTIES
23 LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
26 target_link_libraries(libmemcachedutil PUBLIC libmemcached Threads::Threads)
28 target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL})
30 target_include_directories(libmemcachedutil PRIVATE
31 ${CMAKE_SOURCE_DIR}/src
32 ${CMAKE_BINARY_DIR}/src
34 target_include_directories(libmemcachedutil PUBLIC
35 $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
36 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
37 $<INSTALL_INTERFACE:include>)
39 install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets
40 RUNTIME COMPONENT bin DESTINATION ${CMAKE_INSTALL_BINDIR}
41 ARCHIVE COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
42 LIBRARY COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
43 ${TARGET_NAMELINK_COMPONENT}
45 export(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::)
46 install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::
48 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
50 target_sources(libmemcachedutil PRIVATE
51 ${libmemcachedutil_sources}
52 ${libmemcachedutil_includes})