f8c5dd9857
let the syncqt + qt_module_header.prf pair handle generation of forwarding headers. in qtbase this is ineffective to some degree, as the need to create QtCore's forwarding headers early for QtBootstrap requires qtbase.pro already doing the real work, but at least we get the verification that nothing breaks. Other Modules (TM) will need the full functionality. Change-Id: Ifd3dfa05c4c8a91698a365160edb6dabc84e553f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
68 lines
2.2 KiB
Plaintext
68 lines
2.2 KiB
Plaintext
#
|
|
# W A R N I N G
|
|
# -------------
|
|
#
|
|
# This file is not part of the Qt API. It exists purely as an
|
|
# implementation detail. It may change from version to version
|
|
# without notice, or even be removed.
|
|
#
|
|
# We mean it.
|
|
#
|
|
|
|
load(qt_build_paths)
|
|
|
|
!build_pass:git_build {
|
|
qtPrepareTool(QMAKE_SYNCQT, syncqt)
|
|
minimal_syncqt {
|
|
QMAKE_SYNCQT += -minimal $$QMAKE_SYNCQT_OPTIONS
|
|
} else {
|
|
contains(QT_CONFIG, private_tests): \ # -developer-build
|
|
QMAKE_SYNCQT += -check-includes
|
|
QMAKE_SYNCQT += -module $$MODULE_INCNAME -version $$VERSION
|
|
}
|
|
QMAKE_SYNCQT += \
|
|
-outdir $$MODULE_BASE_OUTDIR $$MODULE_SYNCQT_DIR
|
|
!silent: message($$QMAKE_SYNCQT)
|
|
system($$QMAKE_SYNCQT)|error("Failed to run: $$QMAKE_SYNCQT")
|
|
}
|
|
|
|
minimal_syncqt: return()
|
|
|
|
#load up the headers info
|
|
git_build: \
|
|
INC_PATH = $$MODULE_BASE_OUTDIR
|
|
else: \
|
|
INC_PATH = $$MODULE_BASE_INDIR
|
|
include($$INC_PATH/include/$$MODULE_INCNAME/headers.pri, "", true)
|
|
|
|
for (injection, SYNCQT.INJECTIONS) {
|
|
injects = $$split(injection, :)
|
|
fwd_hdr = $$member(injects, 1)
|
|
MAIN_FWD = $$INC_PATH/include/$$MODULE_INCNAME/$$fwd_hdr
|
|
MAIN_FWD_CONT = '$${LITERAL_HASH}include "$$member(injects, 0)"'
|
|
write_file($$MAIN_FWD, MAIN_FWD_CONT)|error("Aborting.")
|
|
injects = $$member(injects, 2, -1)
|
|
for (inject, injects) {
|
|
CLASS_FWD = $$INC_PATH/include/$$MODULE_INCNAME/$$inject
|
|
CLASS_FWD_CONT = '$${LITERAL_HASH}include "$$fwd_hdr"'
|
|
write_file($$CLASS_FWD, CLASS_FWD_CONT)|error("Aborting.")
|
|
}
|
|
}
|
|
|
|
autogen_warning = \
|
|
"/* This file was generated by qmake with the info from <root>/$$relative_path($$_PRO_FILE_, $$MODULE_BASE_INDIR). */"
|
|
|
|
# Create a module master depends header
|
|
MODULE_MASTER_DEPS_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$${MODULE_INCNAME}Depends
|
|
!build_pass {
|
|
MODULE_MASTER_DEPS_HEADER_CONT = $$autogen_warning
|
|
for(dep, MODULE_DEPENDS) {
|
|
depname = $$eval(QT.$${dep}.name)
|
|
MODULE_MASTER_DEPS_HEADER_CONT += "$${LITERAL_HASH}include <$$depname/$$depname>"
|
|
}
|
|
write_file($$MODULE_MASTER_DEPS_HEADER, MODULE_MASTER_DEPS_HEADER_CONT)|error("Aborting.")
|
|
}
|
|
SYNCQT.HEADER_FILES += $$MODULE_MASTER_DEPS_HEADER
|
|
|
|
CONFIG += qt_install_headers
|