fix #136: libmemcachedutil is underlinked
[awesomized/libmemcached] / src / libmemcachedutil / CMakeLists.txt
index d99b065edfb1c6bf1c5026dcb74b5c485bf6d034..1fd0fa39895cc7bf6f71c232ddc6d90a37d9764a 100644 (file)
@@ -1,5 +1,4 @@
-
-add_library(libmemcachedutil SHARED
+set(libmemcachedutil_sources
         ../libmemcached/backtrace.cc
         common.h
         flush.cc
@@ -7,14 +6,15 @@ add_library(libmemcachedutil SHARED
         ping.cc
         version.cc
         )
+add_library(libmemcachedutil)
+add_library(memcachedutil ALIAS libmemcachedutil)
 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
+        OUTPUT_NAME memcachedutil
+        OUTPUT_NAME_DEBUG memcachedutil-dbg
         SOVERSION ${LIBMEMCACHEDUTIL_SO_SOVERSION}
         VERSION ${LIBMEMCACHEDUTIL_SO_VERSION})
 target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED)
@@ -23,10 +23,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
                LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
                )
 endif()
-if(MSVC OR MINGW)
-    target_link_libraries(libmemcachedutil PUBLIC libmemcached)
-endif()
-target_link_libraries(libmemcachedutil PUBLIC Threads::Threads)
+target_link_libraries(libmemcachedutil PUBLIC libmemcached Threads::Threads)
 if(HAVE_LIBSASL)
     target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL})
 endif()
@@ -49,3 +46,7 @@ export(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::)
 install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::
         COMPONENT dev
         DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+
+target_sources(libmemcachedutil PRIVATE
+    ${libmemcachedutil_sources}
+    ${libmemcachedutil_includes})