915a3da10335527d47d43f26aa5fe946aa964695
[m6w6/libmemcached] / src / libmemcachedprotocol / CMakeLists.txt
1
2 add_library(libmemcachedprotocol SHARED
3 ascii_handler.c
4 binary_handler.c
5 cache.c
6 common.h
7 handler.c
8 pedantic.c
9 )
10 add_library(memcachedprotocol ALIAS libmemcachedprotocol)
11 set_target_properties(libmemcachedprotocol PROPERTIES
12 CXX_STANDARD ${CXX_STANDARD}
13 LIBRARY_OUTPUT_NAME memcachedprotocol
14 LIBRARY_OUTPUT_NAME_DEBUG memcachedprotocol-dbg
15 SOVERSION ${LIBMEMCACHEDPROTOCOL_SO_VERSION})
16 target_compile_definitions(libmemcachedprotocol PRIVATE -DBUILDING_LIBMEMCACHED)
17 if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
18 set_target_properties(libmemcachedprotocol PROPERTIES
19 LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
20 )
21 endif()
22 target_link_libraries(libmemcachedprotocol PUBLIC Threads::Threads)
23 target_include_directories(libmemcachedprotocol PRIVATE
24 ${CMAKE_SOURCE_DIR}/src
25 ${CMAKE_BINARY_DIR}/src
26 ${CMAKE_BINARY_DIR})
27 target_include_directories(libmemcachedprotocol PUBLIC
28 $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
29 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
30 $<INSTALL_INTERFACE:include>)
31
32 install(TARGETS libmemcachedprotocol EXPORT libmemcachedprotocol-targets
33 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
34 export(EXPORT libmemcachedprotocol-targets NAMESPACE libmemcached::)
35 install(EXPORT libmemcachedprotocol-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)