fix soname versioning as suggested in #98
[awesomized/libmemcached] / src / libmemcachedprotocol / CMakeLists.txt
index 2add5133ec9dda3ce6f3bf93f8783a03cbff85c3..3e69aad9af329e7aa092b90279323fe8a0ef30c0 100644 (file)
@@ -14,7 +14,8 @@ set_target_properties(libmemcachedprotocol PROPERTIES
         CXX_STANDARD ${CXX_STANDARD}
         LIBRARY_OUTPUT_NAME memcachedprotocol
         LIBRARY_OUTPUT_NAME_DEBUG memcachedprotocol-dbg
-        SOVERSION ${LIBMEMCACHEDPROTOCOL_SO_VERSION})
+        SOVERSION ${LIBMEMCACHEDPROTOCOL_SO_SOVERSION}
+        VERSION ${LIBMEMCACHEDPROTOCOL_SO_VERSION})
 target_compile_definitions(libmemcachedprotocol PRIVATE -DBUILDING_LIBMEMCACHED)
 if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
        set_target_properties(libmemcachedprotocol PROPERTIES
@@ -23,7 +24,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
 endif()
 target_link_libraries(libmemcachedprotocol PRIVATE p9y)
 target_link_libraries(libmemcachedprotocol PUBLIC Threads::Threads)
-if(MSVC)
+if(MSVC OR MINGW)
     target_link_libraries(libmemcachedprotocol PUBLIC wsock32 ws2_32)
 endif()
 target_include_directories(libmemcachedprotocol PRIVATE
@@ -36,10 +37,11 @@ target_include_directories(libmemcachedprotocol PUBLIC
         $<INSTALL_INTERFACE:include>)
 
 install(TARGETS libmemcachedprotocol EXPORT libmemcachedprotocol-targets
-        LIBRARY
-        COMPONENT lib
+        RUNTIME COMPONENT bin DESTINATION ${CMAKE_INSTALL_BINDIR}
+        ARCHIVE COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
+        LIBRARY COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
         ${TARGET_NAMELINK_COMPONENT}
-        DESTINATION ${CMAKE_INSTALL_LIBDIR})
+        )
 export(EXPORT libmemcachedprotocol-targets NAMESPACE libmemcached::)
 install(EXPORT libmemcachedprotocol-targets NAMESPACE libmemcached::
         COMPONENT dev