summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32
diff options
context:
space:
mode:
authorFredrik Orderud <forderud@gmail.com>2016-08-08 22:39:00 +0200
committerFredrik Orderud <forderud@gmail.com>2016-08-11 09:57:00 +0000
commitb6f5b38f8c883f5c82d9dc0332f55521f59b70db (patch)
tree06f122b8ef54cf0e8d1734ff4c177524d9997275 /qmake/generators/win32
parent0681e603803634f89f72b37b216b91cab2e085d1 (diff)
Define _WINDLL when building a DLL
Visual Studio automatically defines _WINDLL when building a DLL, regardless of project settings (https://msdn.microsoft.com/en-us/library/8x480de8.aspx). This define is therefore widely used to detect DLL vs. static library or executable build target on Windows. For makefiles, _WINDLL need to be manually defined, which QMake failed to do so far. Task-number: QTBUG-55183 Change-Id: Ic62201666c44e730e6881706d568ce9eaf22b7a4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Diffstat (limited to 'qmake/generators/win32')
-rw-r--r--qmake/generators/win32/msvc_nmake.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/qmake/generators/win32/msvc_nmake.cpp b/qmake/generators/win32/msvc_nmake.cpp
index 31abed57ef..ae139c23be 100644
--- a/qmake/generators/win32/msvc_nmake.cpp
+++ b/qmake/generators/win32/msvc_nmake.cpp
@@ -426,6 +426,12 @@ void NmakeMakefileGenerator::init()
if (!defines.contains("NDEBUG"))
defines.append("NDEBUG");
}
+
+ if (project->values("QMAKE_APP_FLAG").isEmpty() && project->isActiveConfig("dll")) {
+ ProStringList &defines = project->values("DEFINES");
+ if (!defines.contains("_WINDLL"))
+ defines.append("_WINDLL");
+ }
}
QStringList NmakeMakefileGenerator::sourceFilesForImplicitRulesFilter()