summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
Diffstat (limited to 'qmake')
-rw-r--r--qmake/doc/src/qmake-manual.qdoc10
-rw-r--r--qmake/generators/unix/unixmake.cpp4
-rw-r--r--qmake/generators/unix/unixmake2.cpp70
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp4
4 files changed, 61 insertions, 27 deletions
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc
index 8032b08d6f..2f43c8ad1f 100644
--- a/qmake/doc/src/qmake-manual.qdoc
+++ b/qmake/doc/src/qmake-manual.qdoc
@@ -2133,6 +2133,16 @@
linked with an application so that they are available as built-in
resources.
+ qmake automatically adds the plugins that are typically needed
+ by the used Qt modules (see \c QT).
+ The defaults are tuned towards an optimal out-of-the-box experience.
+ See \l{Static Plugins} for a list of available plugins, and ways
+ to override the automatic linking.
+
+ This variable currently has no effect when linking against a
+ shared/dynamic build of Qt, or when linking libraries.
+ It may be used for deployment of dynamic plugins at a later time.
+
\target QT_VERSION_variable
\section1 QT_VERSION
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index 4c3df4efe8..5ea47cc867 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -749,7 +749,9 @@ UnixMakefileGenerator::defaultInstall(const QString &t)
target = "$(QMAKE_TARGET)";
} else if(project->first("TEMPLATE") == "lib") {
if(project->isEmpty("QMAKE_CYGWIN_SHLIB")) {
- if(!project->isActiveConfig("staticlib") && !project->isActiveConfig("plugin")) {
+ if (!project->isActiveConfig("staticlib")
+ && !project->isActiveConfig("plugin")
+ && !project->isActiveConfig("unversioned_libname")) {
if(project->isEmpty("QMAKE_HPUX_SHLIB")) {
links << "$(TARGET0)" << "$(TARGET1)" << "$(TARGET2)";
} else {
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index 6e08c138ed..a28760015e 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -234,14 +234,15 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
if(!project->isEmpty("QMAKE_BUNDLE")) {
t << "TARGETD = " << escapeFilePath(var("TARGET_x.y")) << endl;
t << "TARGET0 = " << escapeFilePath(var("TARGET_")) << endl;
- } else if(project->isEmpty("QMAKE_HPUX_SHLIB")) {
- t << "TARGETD = " << escapeFilePath(var("TARGET_x.y.z")) << endl;
- t << "TARGET0 = " << escapeFilePath(var("TARGET_")) << endl;
- t << "TARGET1 = " << escapeFilePath(var("TARGET_x")) << endl;
- t << "TARGET2 = " << escapeFilePath(var("TARGET_x.y")) << endl;
- } else {
- t << "TARGETD = " << escapeFilePath(var("TARGET_x")) << endl;
+ } else if (!project->isActiveConfig("unversioned_libname")) {
t << "TARGET0 = " << escapeFilePath(var("TARGET_")) << endl;
+ if (project->isEmpty("QMAKE_HPUX_SHLIB")) {
+ t << "TARGETD = " << escapeFilePath(var("TARGET_x.y.z")) << endl;
+ t << "TARGET1 = " << escapeFilePath(var("TARGET_x")) << endl;
+ t << "TARGET2 = " << escapeFilePath(var("TARGET_x.y")) << endl;
+ } else {
+ t << "TARGETD = " << escapeFilePath(var("TARGET_x")) << endl;
+ }
}
}
writeExtraCompilerVariables(t);
@@ -574,22 +575,36 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
t << "\n\t" << var("QMAKE_POST_LINK");
t << endl << endl;
} else if(project->isEmpty("QMAKE_HPUX_SHLIB")) {
- t << "\n\t"
- << "-$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)\n\t"
- << var("QMAKE_LINK_SHLIB_CMD") << "\n\t";
- t << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET0)") << "\n\t"
- << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET1)") << "\n\t"
- << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET2)");
- if(!destdir.isEmpty())
+ t << "\n\t";
+
+ if (!project->isActiveConfig("unversioned_libname"))
+ t << "-$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)";
+ else
+ t << "-$(DEL_FILE) $(TARGET)";
+
+ t << "\n\t" << var("QMAKE_LINK_SHLIB_CMD");
+
+ if (!project->isActiveConfig("unversioned_libname")) {
+ t << "\n\t"
+ << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET0)") << "\n\t"
+ << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET1)") << "\n\t"
+ << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET2)");
+ }
+ if (!destdir.isEmpty()) {
t << "\n\t"
<< "-$(DEL_FILE) " << destdir << "$(TARGET)\n\t"
- << "-$(DEL_FILE) " << destdir << "$(TARGET0)\n\t"
- << "-$(DEL_FILE) " << destdir << "$(TARGET1)\n\t"
- << "-$(DEL_FILE) " << destdir << "$(TARGET2)\n\t"
- << "-$(MOVE) $(TARGET) " << destdir << " \n\t"
- << "-$(MOVE) $(TARGET0) " << destdir << " \n\t"
- << "-$(MOVE) $(TARGET1) " << destdir << " \n\t"
- << "-$(MOVE) $(TARGET2) " << destdir << " \n\t";
+ << "-$(MOVE) $(TARGET) " << destdir << " ";
+
+ if (!project->isActiveConfig("unversioned_libname")) {
+ t << "\n\t"
+ << "-$(DEL_FILE) " << destdir << "$(TARGET0)\n\t"
+ << "-$(DEL_FILE) " << destdir << "$(TARGET1)\n\t"
+ << "-$(DEL_FILE) " << destdir << "$(TARGET2)\n\t"
+ << "-$(MOVE) $(TARGET0) " << destdir << " \n\t"
+ << "-$(MOVE) $(TARGET1) " << destdir << " \n\t"
+ << "-$(MOVE) $(TARGET2) " << destdir << " ";
+ }
+ }
if(!project->isEmpty("QMAKE_POST_LINK"))
t << "\n\t" << var("QMAKE_POST_LINK");
t << endl << endl;
@@ -924,8 +939,12 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
} else if(!project->isActiveConfig("staticlib") && project->values("QMAKE_APP_FLAG").isEmpty() &&
!project->isActiveConfig("plugin")) {
t << "\t-$(DEL_FILE) " << destdir << "$(TARGET) \n";
- t << "\t-$(DEL_FILE) " << destdir << "$(TARGET0) " << destdir << "$(TARGET1) "
- << destdir << "$(TARGET2) $(TARGETA)\n";
+ if (!project->isActiveConfig("unversioned_libname")) {
+ t << "\t-$(DEL_FILE) " << destdir << "$(TARGET0) " << destdir << "$(TARGET1) "
+ << destdir << "$(TARGET2) $(TARGETA)\n";
+ } else {
+ t << "\t-$(DEL_FILE) $(TARGETA)\n";
+ }
} else {
t << "\t-$(DEL_FILE) " << destdir << "$(TARGET) \n";
}
@@ -1165,7 +1184,10 @@ void UnixMakefileGenerator::init2()
project->first("VER_MIN") + "." +
project->first("VER_PAT"));
}
- project->values("TARGET") = project->values("TARGET_x.y.z");
+ if (project->isActiveConfig("unversioned_libname"))
+ project->values("TARGET") = project->values("TARGET_");
+ else
+ project->values("TARGET") = project->values("TARGET_x.y.z");
}
if(project->isEmpty("QMAKE_LN_SHLIB"))
project->values("QMAKE_LN_SHLIB").append("ln -s");
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index ac258e2841..2bd3301e16 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -397,8 +397,8 @@ QString VcprojGenerator::retrievePlatformToolSet() const
return envVar;
QString suffix;
- if (vcProject.Configuration.WinPhone)
- suffix = "_wp80";
+ if (project->isActiveConfig("winphone"))
+ suffix = '_' + project->first("WINTARGET_VER").toQString().toLower();
else if (project->first("QMAKE_TARGET_OS") == "xp")
suffix = "_xp";