msvc support
[m6w6/libmemcached] / src / libmemcachedutil / CMakeLists.txt
index c1110b476ace4f31f0ae7001c877f4dc89b580e0..b49d0d030a4ed28efcb68cd0124be86de515eb3d 100644 (file)
@@ -5,22 +5,32 @@ add_library(libmemcachedutil SHARED
         flush.cc
         pid.cc
         ping.cc
-        pool.cc
         version.cc
         )
+if(CMAKE_USE_PTHREADS_INIT)
+    target_sources(libmemcachedutil PRIVATE pool.cc)
+endif()
 add_library(memcachedutil ALIAS libmemcachedutil)
 set_target_properties(libmemcachedutil PROPERTIES
+        CXX_STANDARD ${CXX_STANDARD}
         LIBRARY_OUTPUT_NAME memcachedutil
         LIBRARY_OUTPUT_NAME_DEBUG memcachedutil-dbg
-        SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION}
-        VERSION v${LIBMEMCACHEDUTIL_VERSION})
+        SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION})
 target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED)
 if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
        set_target_properties(libmemcachedutil PROPERTIES
                LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
                )
 endif()
+if(MSVC)
+        set_target_properties(libmemcachedutil PROPERTIES
+                LINK_FLAGS "/FORCE:UNRESOLVED"
+                )
+endif()
 target_link_libraries(libmemcachedutil PUBLIC Threads::Threads)
+if(HAVE_LIBSASL)
+    target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL})
+endif()
 target_include_directories(libmemcachedutil PRIVATE
         ${CMAKE_SOURCE_DIR}/src
         ${CMAKE_BINARY_DIR}/src