diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2016-11-24 18:41:48 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2016-12-13 18:56:12 +0000 |
commit | 169a40d511165f6c3c9a71cd5c079786c22d2aca (patch) | |
tree | ccb96350299aa64c2ec32da0c27b4ecb1a10a822 /qmake/property.cpp | |
parent | 42196f4061263d6d0e453c0561f7604cadc6d0a3 (diff) |
move generation of qconfig.cpp (and qt.conf) to qmake-based configure
this moves us another step towards the "outer" configure doing just
minimal bootstrapping of qmake.
a challenge here was that so far, qmake itself needed qconfig.cpp. this
was replaced by usage of a qt.conf file instead of compiled-in values.
however, to make the executable still self-contained, that qt.conf is
embedded into it (by simple appending of a fixed signature and the text
file).
the qmake with the embedded qt.conf is not used for the qt build itself,
which instead relies on the qt.conf in bin/ as before. however, due to
the missing built-in values, this file now needs to contain more
information than before. but except for a minimal version that is needed
to start up qmake/configure at all, that file is now also generated with
qmake. as some of the newly set up properties are subsequently used by
configure itself, qmake gains a (deliberately undocumented) function to
reload the qt.conf after it's fully populated.
unlike the old implementations, this one doesn't emit redundant qt.conf
entries which match the hard-coded fallbacks. omitting them leads to
leaner files which are more comprehensible.
Started-by: Paolo Angelelli <paolo.angelelli@qt.io>
Change-Id: I4526ef64b3c89d9851e10f83965fe479ed7f39f6
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'qmake/property.cpp')
-rw-r--r-- | qmake/property.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/qmake/property.cpp b/qmake/property.cpp index d17d62481a..9a8db8904d 100644 --- a/qmake/property.cpp +++ b/qmake/property.cpp @@ -70,6 +70,12 @@ static const struct { QMakeProperty::QMakeProperty() : settings(0) { + reload(); +} + +void QMakeProperty::reload() +{ + QLibraryInfo::reload(); for (unsigned i = 0; i < sizeof(propList)/sizeof(propList[0]); i++) { QString name = QString::fromLatin1(propList[i].name); if (!propList[i].singular) { |