From 43ea9f4ac5d17ad859b941349771c8035602eaa7 Mon Sep 17 00:00:00 2001
From: Ralf Habacker <ralf.habacker@freenet.de>
Date: Tue, 16 Jul 2019 17:21:56 +0200
Subject: [PATCH] Use 'lib' prefix for shared libraries and module on Windows
 to be different from msvc

Currently hardcoded for mingw.

Change-Id: I69be89a96f98761edcc53d4bc2d0a93bf6b4a6f9
---
 mkspecs/features/create_cmake.prf   | 8 ++++----
 mkspecs/win32-g++/qmake.conf        | 2 +-
 src/corelib/plugin/qlibrary_win.cpp | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
index bb5083c925..7b86081acd 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
@@ -135,8 +135,13 @@
 
     win32 {
         isEmpty(CMAKE_STATIC_TYPE) {
-            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
-            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
+            mingw {
+                CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.dll
+                CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.dll
+            } else {
+                CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
+                CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
+            }
         } else:mingw {
             CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
             CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
@@ -220,10 +225,10 @@
     CMAKE_WINDOWS_BUILD = "true"
     CMAKE_FIND_OTHER_LIBRARY_BUILD = "true"
 
-    CMAKE_LIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.dll
-    CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll
-
     mingw {
+        CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.dll
+        CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.dll
+
         CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}d.a
         CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
 
@@ -239,6 +244,9 @@
             CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.dll.a
         }
     } else {
+        CMAKE_LIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.dll
+        CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll
+
         CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qt5main$${QT_LIBINFIX}d.lib
         CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qt5main$${QT_LIBINFIX}.lib
 
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 625758c751..4743591dc1 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -52,7 +52,7 @@
 QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections
 QMAKE_LINK_OBJECT_MAX   = 10
 QMAKE_LINK_OBJECT_SCRIPT = object_script
-QMAKE_PREFIX_SHLIB      =
+QMAKE_PREFIX_SHLIB      = lib
 QMAKE_EXTENSION_SHLIB   = dll
 QMAKE_PREFIX_STATICLIB  = lib
 QMAKE_EXTENSION_IMPLIB = dll.a
diff --git a/src/corelib/plugin/qlibrary_win.cpp b/src/corelib/plugin/qlibrary_win.cpp
index a4d3f67c27..b54616a3c7 100644
--- a/src/corelib/plugin/qlibrary_win.cpp
+++ b/src/corelib/plugin/qlibrary_win.cpp
@@ -58,7 +58,7 @@ QStringList QLibraryPrivate::suffixes_sys(const QString& fullVersion)
 
 QStringList QLibraryPrivate::prefixes_sys()
 {
-    return QStringList();
+    return QStringList(QStringLiteral("lib"));
 }
 
 bool QLibraryPrivate::load_sys()
-- 
2.13.7

