594099bf983ccae6f2de17fcdc9617060416bbbc
[m6w6/libmemcached] / src / libmemcachedutil / CMakeLists.txt
1
2 add_library(libmemcachedutil SHARED
3 ../libmemcached/backtrace.cc
4 common.h
5 flush.cc
6 pid.cc
7 ping.cc
8 pool.cc
9 version.cc
10 )
11 add_library(memcachedutil ALIAS libmemcachedutil)
12 set_target_properties(libmemcachedutil PROPERTIES
13 CXX_STANDARD ${CXX_STANDARD}
14 LIBRARY_OUTPUT_NAME memcachedutil
15 LIBRARY_OUTPUT_NAME_DEBUG memcachedutil-dbg
16 SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION})
17 target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED)
18 if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
19 set_target_properties(libmemcachedutil PROPERTIES
20 LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
21 )
22 endif()
23 target_link_libraries(libmemcachedutil PUBLIC Threads::Threads)
24 if(HAVE_LIBSASL)
25 target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL})
26 endif()
27 target_include_directories(libmemcachedutil PRIVATE
28 ${CMAKE_SOURCE_DIR}/src
29 ${CMAKE_BINARY_DIR}/src
30 ${CMAKE_BINARY_DIR})
31 target_include_directories(libmemcachedutil PUBLIC
32 $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
33 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
34 $<INSTALL_INTERFACE:include>)
35
36 install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets
37 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
38 export(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::)
39 install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)