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