summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2008-10-20 07:59:51 (GMT)
committerThiago Macieira <thiago.macieira@nokia.com>2009-08-17 10:48:24 (GMT)
commit5bc8c27e9406fd55693e3a3963030c6d9a89b08a (patch)
tree94beac30107d3b09550094a0e00e6c26b01eb5d1 /qmake/generators/win32
parent8096d2bbbb1f4becaaefe2219560f8dd558235de (diff)
downloadQt-5bc8c27e9406fd55693e3a3963030c6d9a89b08a.zip
Qt-5bc8c27e9406fd55693e3a3963030c6d9a89b08a.tar.gz
Qt-5bc8c27e9406fd55693e3a3963030c6d9a89b08a.tar.bz2
Add LIBS_PRIVATE to qmake.
The difference between LIBS and LIBS_PRIVATE is that private libraries are those that are not part of the public interface of a library. For example, if you're writing a Qt application and link to QtGui, you definitely need the development files for QtCore, but not necessarily for Glib and GThread, or maybe even X11. The private libraries are necessary only in static builds, so the information should still be published in .prl and pkg-config files. Reviewed-By: Marius Storm-Olsen
Diffstat (limited to 'qmake/generators/win32')
-rw-r--r--qmake/generators/win32/mingw_make.cpp11
-rw-r--r--qmake/generators/win32/mingw_make.h1
-rw-r--r--qmake/generators/win32/msvc_nmake.cpp1
-rw-r--r--qmake/generators/win32/winmakefile.cpp2
-rw-r--r--qmake/generators/win32/winmakefile.h2
5 files changed, 13 insertions, 4 deletions
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
index 84104fd..fb0f48d 100644
--- a/qmake/generators/win32/mingw_make.cpp
+++ b/qmake/generators/win32/mingw_make.cpp
@@ -82,7 +82,12 @@ QString MingwMakefileGenerator::getLibTarget()
bool MingwMakefileGenerator::findLibraries()
{
- QStringList &l = project->values("QMAKE_LIBS");
+ return findLibraries("QMAKE_LIBS") && findLibraries("QMAKE_LIBS_PRIVATE");
+}
+
+bool MingwMakefileGenerator::findLibraries(const QString &where)
+{
+ QStringList &l = project->values(where);
QList<QMakeLocalFileName> dirs;
{
@@ -258,6 +263,7 @@ void MingwMakefileGenerator::init()
// LIBS defined in Profile comes first for gcc
project->values("QMAKE_LIBS") += escapeFilePaths(project->values("LIBS"));
+ project->values("QMAKE_LIBS_PRIVATE") += escapeFilePaths(project->values("LIBS_PRIVATE"));
QString targetfilename = project->values("TARGET").first();
QStringList &configs = project->values("CONFIG");
@@ -344,7 +350,8 @@ void MingwMakefileGenerator::writeLibsPart(QTextStream &t)
t << "LIBS = ";
if(!project->values("QMAKE_LIBDIR").isEmpty())
writeLibDirPart(t);
- t << var("QMAKE_LIBS").replace(QRegExp("(\\slib|^lib)")," -l") << endl;
+ t << var("QMAKE_LIBS").replace(QRegExp("(\\slib|^lib)")," -l") << ' '
+ << var("QMAKE_LIBS_PRIVATE").replace(QRegExp("(\\slib|^lib)")," -l") << endl;
}
}
diff --git a/qmake/generators/win32/mingw_make.h b/qmake/generators/win32/mingw_make.h
index c95beff..8640bbc 100644
--- a/qmake/generators/win32/mingw_make.h
+++ b/qmake/generators/win32/mingw_make.h
@@ -72,6 +72,7 @@ private:
QString preCompHeaderOut;
virtual bool findLibraries();
+ bool findLibraries(const QString &where);
void fixTargetExt();
bool init_flag;
diff --git a/qmake/generators/win32/msvc_nmake.cpp b/qmake/generators/win32/msvc_nmake.cpp
index 7613ef2..3a0ca6f 100644
--- a/qmake/generators/win32/msvc_nmake.cpp
+++ b/qmake/generators/win32/msvc_nmake.cpp
@@ -172,6 +172,7 @@ void NmakeMakefileGenerator::init()
}
project->values("QMAKE_LIBS") += escapeFilePaths(project->values("LIBS"));
+ project->values("QMAKE_LIBS_PRIVATE") += escapeFilePaths(project->values("LIBS_PRIVATE"));
processVars();
if (!project->values("RES_FILE").isEmpty()) {
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index e3923c6..3a4329c 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -708,7 +708,7 @@ void Win32MakefileGenerator::writeLibsPart(QTextStream &t)
if(!project->values("QMAKE_LIBDIR").isEmpty())
writeLibDirPart(t);
t << var("QMAKE_LFLAGS") << endl;
- t << "LIBS = " << var("QMAKE_LIBS") << endl;
+ t << "LIBS = " << var("QMAKE_LIBS") << " " << var("QMAKE_LIBS_PRIVATE") << endl;
}
}
diff --git a/qmake/generators/win32/winmakefile.h b/qmake/generators/win32/winmakefile.h
index e2b6608..7032251 100644
--- a/qmake/generators/win32/winmakefile.h
+++ b/qmake/generators/win32/winmakefile.h
@@ -89,7 +89,7 @@ inline Win32MakefileGenerator::~Win32MakefileGenerator()
{ }
inline bool Win32MakefileGenerator::findLibraries()
-{ return findLibraries("QMAKE_LIBS"); }
+{ return findLibraries("QMAKE_LIBS") && findLibraries("QMAKE_LIBS_PRIVATE"); }
QT_END_NAMESPACE