summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2019-06-03 14:59:16 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2019-06-03 15:06:29 +0200
commit4da47d0fba04e5d50bf6b63e73bc0de986560f42 (patch)
treedca211cb231158d8a866a3e5ee3f1aea69238d9c /qmake
parentc64f8ca232cc1f2131282d9eb6279ef9b565be88 (diff)
Make sure .pc, .prl and .la files are created for header_only modules
Those modules are TEMPLATE=aux, so they weren't triggering the file creation here. To make this work properly we have to: - check for TEMPLATE aux in the right places - add a dummy target to INSTALLS to actually trigger the creation - initialize PRL_TARGET for aux templates Fixes: QTBUG-75901 Started-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: Idce141629dd34287808bfffd159f92ac28c6c8b1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/makefile.cpp3
-rw-r--r--qmake/generators/unix/unixmake.cpp2
-rw-r--r--qmake/generators/unix/unixmake2.cpp10
3 files changed, 10 insertions, 5 deletions
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 4a99a60892..caaf6e71b6 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -1120,7 +1120,8 @@ MakefileGenerator::writePrlFile()
&& project->values("QMAKE_FAILED_REQUIREMENTS").isEmpty()
&& project->isActiveConfig("create_prl")
&& (project->first("TEMPLATE") == "lib"
- || project->first("TEMPLATE") == "vclib")
+ || project->first("TEMPLATE") == "vclib"
+ || project->first("TEMPLATE") == "aux")
&& (!project->isActiveConfig("plugin") || project->isActiveConfig("static"))) { //write prl file
QString local_prl = prlFileName();
QString prl = fileFixify(local_prl);
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index 7f42fbe09e..b809bb6c19 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -726,7 +726,7 @@ UnixMakefileGenerator::defaultInstall(const QString &t)
}
}
}
- if(project->first("TEMPLATE") == "lib") {
+ if (isAux || project->first("TEMPLATE") == "lib") {
QStringList types;
types << "prl" << "libtool" << "pkgconfig";
for(int i = 0; i < types.size(); ++i) {
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index 24215ae7b0..d9bcccf2e2 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -48,12 +48,15 @@ void
UnixMakefileGenerator::writePrlFile(QTextStream &t)
{
MakefileGenerator::writePrlFile(t);
+ const ProString tmplt = project->first("TEMPLATE");
+ if (tmplt != "lib" && tmplt != "aux")
+ return;
// libtool support
- if(project->isActiveConfig("create_libtool") && project->first("TEMPLATE") == "lib") { //write .la
+ if (project->isActiveConfig("create_libtool")) {
writeLibtoolFile();
}
// pkg-config support
- if(project->isActiveConfig("create_pc") && project->first("TEMPLATE") == "lib")
+ if (project->isActiveConfig("create_pc"))
writePkgConfigFile();
}
@@ -1199,7 +1202,8 @@ void UnixMakefileGenerator::init2()
project->values("QMAKE_FRAMEWORK_VERSION").append(project->first("VER_MAJ"));
if (project->first("TEMPLATE") == "aux") {
- // nothing
+ project->values("PRL_TARGET") =
+ project->values("TARGET").first().prepend(project->first("QMAKE_PREFIX_STATICLIB"));
} else if (!project->values("QMAKE_APP_FLAG").isEmpty()) {
if(!project->isEmpty("QMAKE_BUNDLE")) {
ProString bundle_loc = project->first("QMAKE_BUNDLE_LOCATION");