cmake
[awesomized/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 VERSION v${LIBMEMCACHEDUTIL_VERSION})
18 target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED)
19 if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
20 set_target_properties(libmemcachedutil PROPERTIES
21 LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
22 )
23 endif()
24 target_link_libraries(libmemcachedutil PUBLIC Threads::Threads)
25 if(HAVE_LIBSASL)
26 target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL})
27 endif()
28 target_include_directories(libmemcachedutil PRIVATE
29 ${CMAKE_SOURCE_DIR}/src
30 ${CMAKE_BINARY_DIR}/src
31 ${CMAKE_BINARY_DIR})
32 target_include_directories(libmemcachedutil PUBLIC
33 $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
34 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
35 $<INSTALL_INTERFACE:include>)
36
37 install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets
38 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
39 export(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::)
40 install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)