--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1038,7 +1038,11 @@
 
 
 if(WIN32)
-  set(SYSTEM_LIBS ${SYSTEM_LIBS} shlwapi.lib rpcrt4.lib)
+  if(MSVC)
+    set(SYSTEM_LIBS ${SYSTEM_LIBS} shlwapi.lib rpcrt4.lib)
+  else()
+    set(SYSTEM_LIBS ${SYSTEM_LIBS} shlwapi rpcrt4)
+  endif()
 else()
   set(SYSTEM_LIBS ${CMAKE_THREAD_LIBS_INIT})
 endif()
@@ -1120,13 +1124,14 @@
       set_target_properties(${ROCKSDB_SHARED_LIB} PROPERTIES
         COMPILE_FLAGS "/Fd${CMAKE_CFG_INTDIR}/${ROCKSDB_SHARED_LIB}.pdb")
     endif()
-  else()
-    set_target_properties(${ROCKSDB_SHARED_LIB} PROPERTIES
+  endif()
+  set_target_properties(${ROCKSDB_SHARED_LIB} PROPERTIES
                           LINKER_LANGUAGE CXX
                           VERSION ${rocksdb_VERSION}
                           SOVERSION ${rocksdb_VERSION_MAJOR}
-                          OUTPUT_NAME "rocksdb${ARTIFACT_SUFFIX}")
-  endif()
+                          OUTPUT_NAME "rocksdb${ARTIFACT_SUFFIX}"
+                          RUNTIME_OUTPUT_NAME "rocksdb"
+                          ARCHIVE_OUTPUT_NAME "rocksdb")
 endif()
 
 if(ROCKSDB_BUILD_SHARED AND NOT WIN32)
