qt5base-lts/qmake/qmake-aux.pro
Oswald Buddenhagen 169a40d511 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>
2016-12-13 18:56:12 +00:00

30 lines
836 B
INI

option(host_build)
TEMPLATE = aux
# qmake documentation
QMAKE_DOCS = $$PWD/doc/qmake.qdocconf
# qmake binary
win32: EXTENSION = .exe
!build_pass {
qmake_exe.target = $$OUT_PWD/qmake$$EXTENSION
qmake_exe.depends = ../bin/qmake$$EXTENSION builtin-qt.conf
equals(QMAKE_DIR_SEP, /): \
qmake_exe.commands = cat ../bin/qmake$$EXTENSION builtin-qt.conf > qmake$$EXTENSION && chmod +x qmake$$EXTENSION
else: \
qmake_exe.commands = copy /B ..\bin\qmake$$EXTENSION + builtin-qt.conf qmake$$EXTENSION
QMAKE_EXTRA_TARGETS += qmake_exe
QMAKE_CLEAN += builtin-qt.conf
QMAKE_DISTCLEAN += qmake$$EXTENSION
first.depends += qmake_exe
QMAKE_EXTRA_TARGETS += first
}
qmake.path = $$[QT_HOST_BINS]
qmake.files = $$OUT_PWD/qmake$$EXTENSION
qmake.CONFIG = no_check_exist executable
INSTALLS += qmake