fix #132: build static libs
[awesomized/libmemcached] / src / libmemcachedutil / CMakeLists.txt
index 44e0c8a6009d698f87a867e3166bc1ebebcc95c1..400be003350c4a8d313a5722472bbe18735a48d2 100644 (file)
@@ -1,5 +1,4 @@
-
-add_library(libmemcachedutil SHARED
+set(libmemcachedutil_sources
         ../libmemcached/backtrace.cc
         common.h
         flush.cc
@@ -7,25 +6,25 @@ 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
-        SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION})
+        SOVERSION ${LIBMEMCACHEDUTIL_SO_SOVERSION}
+        VERSION ${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"
-                )
+if(MSVC OR MINGW)
+    target_link_libraries(libmemcachedutil PUBLIC libmemcached)
 endif()
 target_link_libraries(libmemcachedutil PUBLIC Threads::Threads)
 if(HAVE_LIBSASL)
@@ -49,4 +48,8 @@ install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets
 export(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::)
 install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::
         COMPONENT dev
-        DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)
+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+
+target_sources(libmemcachedutil PRIVATE
+    ${libmemcachedutil_sources}
+    ${libmemcachedutil_includes})