C++: double underscores are reserved
[awesomized/libmemcached] / src / libmemcachedprotocol / CMakeLists.txt
index 84b7fa1fb9687f1822c32373869487423848ce76..43d59de1310ca064b509a03c0b4b0dfa318ab020 100644 (file)
@@ -1,3 +1,4 @@
+check_include(umem.h)
 
 add_library(libmemcachedprotocol SHARED
         ascii_handler.c
@@ -6,15 +7,25 @@ add_library(libmemcachedprotocol SHARED
         common.h
         handler.c
         pedantic.c
+        ../libmemcached/byteorder.cc
         )
 add_library(memcachedprotocol ALIAS libmemcachedprotocol)
 set_target_properties(libmemcachedprotocol PROPERTIES
+        CXX_STANDARD ${CXX_STANDARD}
         LIBRARY_OUTPUT_NAME memcachedprotocol
         LIBRARY_OUTPUT_NAME_DEBUG memcachedprotocol-dbg
-        SOVERSION ${LIBMEMCACHEDPROTOCOL_SO_VERSION}
-        VERSION v${LIBMEMCACHEDPROTOCOL_VERSION})
+        SOVERSION ${LIBMEMCACHEDPROTOCOL_SO_VERSION})
 target_compile_definitions(libmemcachedprotocol PRIVATE -DBUILDING_LIBMEMCACHED)
+if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
+       set_target_properties(libmemcachedprotocol PROPERTIES
+               LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
+               )
+endif()
+target_link_libraries(libmemcachedprotocol PRIVATE p9y)
 target_link_libraries(libmemcachedprotocol PUBLIC Threads::Threads)
+if(MSVC)
+    target_link_libraries(libmemcachedprotocol PUBLIC wsock32 ws2_32)
+endif()
 target_include_directories(libmemcachedprotocol PRIVATE
         ${CMAKE_SOURCE_DIR}/src
         ${CMAKE_BINARY_DIR}/src