cpack: artifacts
[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 version.cc
9 )
10 if(CMAKE_USE_PTHREADS_INIT)
11 target_sources(libmemcachedutil PRIVATE pool.cc)
12 endif()
13 add_library(memcachedutil ALIAS libmemcachedutil)
14 set_target_properties(libmemcachedutil PROPERTIES
15 CXX_STANDARD ${CXX_STANDARD}
16 LIBRARY_OUTPUT_NAME memcachedutil
17 LIBRARY_OUTPUT_NAME_DEBUG memcachedutil-dbg
18 SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION})
19 target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED)
20 if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
21 set_target_properties(libmemcachedutil PROPERTIES
22 LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
23 )
24 endif()
25 if(MSVC)
26 set_target_properties(libmemcachedutil PROPERTIES
27 LINK_FLAGS "/FORCE:UNRESOLVED"
28 )
29 endif()
30 target_link_libraries(libmemcachedutil PUBLIC Threads::Threads)
31 if(HAVE_LIBSASL)
32 target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL})
33 endif()
34 target_include_directories(libmemcachedutil PRIVATE
35 ${CMAKE_SOURCE_DIR}/src
36 ${CMAKE_BINARY_DIR}/src
37 ${CMAKE_BINARY_DIR})
38 target_include_directories(libmemcachedutil PUBLIC
39 $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
40 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
41 $<INSTALL_INTERFACE:include>)
42
43 install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets
44 RUNTIME COMPONENT bin DESTINATION ${CMAKE_INSTALL_BINDIR}
45 LIBRARY COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
46 ${TARGET_NAMELINK_COMPONENT}
47 )
48 export(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::)
49 install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::
50 COMPONENT dev
51 DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)