cmake: macos build
[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 LIBRARY_OUTPUT_NAME memcachedutil
14 LIBRARY_OUTPUT_NAME_DEBUG memcachedutil-dbg
15 SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION}
16 VERSION v${LIBMEMCACHEDUTIL_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 target_include_directories(libmemcachedutil PRIVATE
25 ${CMAKE_SOURCE_DIR}/src
26 ${CMAKE_BINARY_DIR}/src
27 ${CMAKE_BINARY_DIR})
28 target_include_directories(libmemcachedutil PUBLIC
29 $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
30 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
31 $<INSTALL_INTERFACE:include>)
32
33 install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets
34 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
35 export(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::)
36 install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)