1531cb81df76abf3f83e5b547b127255c40712bb
[awesomized/libmemcached] / src / libmemcachedutil / CMakeLists.txt
1 set(libmemcachedutil_sources
2 ../libmemcached/backtrace.cc
3 common.h
4 flush.cc
5 pid.cc
6 ping.cc
7 version.cc
8 )
9 add_library(libmemcachedutil)
10 add_library(memcachedutil ALIAS libmemcachedutil)
11 if(CMAKE_USE_PTHREADS_INIT)
12 target_sources(libmemcachedutil PRIVATE pool.cc)
13 endif()
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"
24 )
25 endif()
26 if(MSVC OR MINGW)
27 target_link_libraries(libmemcachedutil PUBLIC libmemcached)
28 endif()
29 target_link_libraries(libmemcachedutil PUBLIC Threads::Threads)
30 if(HAVE_LIBSASL)
31 target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL})
32 endif()
33 target_include_directories(libmemcachedutil PRIVATE
34 ${CMAKE_SOURCE_DIR}/src
35 ${CMAKE_BINARY_DIR}/src
36 ${CMAKE_BINARY_DIR})
37 target_include_directories(libmemcachedutil PUBLIC
38 $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
39 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
40 $<INSTALL_INTERFACE:include>)
41
42 install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets
43 RUNTIME COMPONENT bin DESTINATION ${CMAKE_INSTALL_BINDIR}
44 ARCHIVE COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
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_LIBDIR}/cmake/${PROJECT_NAME})
52
53 target_sources(libmemcachedutil PRIVATE
54 ${libmemcachedutil_sources}
55 ${libmemcachedutil_includes})