3 add_library(libmemcachedprotocol SHARED
10 ../libmemcached/byteorder.cc
12 add_library(memcachedprotocol ALIAS libmemcachedprotocol)
13 set_target_properties(libmemcachedprotocol PROPERTIES
14 CXX_STANDARD ${CXX_STANDARD}
15 LIBRARY_OUTPUT_NAME memcachedprotocol
16 LIBRARY_OUTPUT_NAME_DEBUG memcachedprotocol-dbg
17 SOVERSION ${LIBMEMCACHEDPROTOCOL_SO_SOVERSION}
18 VERSION ${LIBMEMCACHEDPROTOCOL_SO_VERSION})
19 target_compile_definitions(libmemcachedprotocol PRIVATE -DBUILDING_LIBMEMCACHED)
20 if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
21 set_target_properties(libmemcachedprotocol PROPERTIES
22 LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
25 target_link_libraries(libmemcachedprotocol PRIVATE p9y)
26 target_link_libraries(libmemcachedprotocol PUBLIC Threads::Threads)
28 target_link_libraries(libmemcachedprotocol PUBLIC wsock32 ws2_32)
30 target_include_directories(libmemcachedprotocol PRIVATE
31 ${CMAKE_SOURCE_DIR}/src
32 ${CMAKE_BINARY_DIR}/src
34 target_include_directories(libmemcachedprotocol PUBLIC
35 $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
36 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
37 $<INSTALL_INTERFACE:include>)
39 install(TARGETS libmemcachedprotocol EXPORT libmemcachedprotocol-targets
40 RUNTIME COMPONENT bin DESTINATION ${CMAKE_INSTALL_BINDIR}
41 ARCHIVE COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
42 LIBRARY COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
43 ${TARGET_NAMELINK_COMPONENT}
45 export(EXPORT libmemcachedprotocol-targets NAMESPACE libmemcached::)
46 install(EXPORT libmemcachedprotocol-targets NAMESPACE libmemcached::
48 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})