diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-04-13 16:17:12 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-06-19 16:46:01 +0200 |
commit | 32042413f247660e50967d5b0e7e9b63d297da14 (patch) | |
tree | 7304fe7beb4a5d894fa236eab4c2130764706445 /mkspecs/features | |
parent | 8dba9e50ac7149b3a40e2e15b0120a26df801f08 (diff) |
move generation of module master headers to qt_module_headers
this has the advantage that the %mastercontent assignments in sync.profile
are not necessary any more. as it happens, most modules got them wrong
anyway.
Change-Id: Ibdf689be408f18e1d90c44ef4ecacd7c24b1f1c9
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Diffstat (limited to 'mkspecs/features')
-rw-r--r-- | mkspecs/features/qt_module_headers.prf | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf index 37146ff6ec..6a1854a771 100644 --- a/mkspecs/features/qt_module_headers.prf +++ b/mkspecs/features/qt_module_headers.prf @@ -4,6 +4,15 @@ include($$MODULE_BASE_OUTDIR/include/$$TARGET/headers.pri, "", true) lctarget = $$lower($$TARGET) uctarget = $$upper($$TARGET) +defineTest(shouldMasterInclude) { + bn = $$basename(1) + contains(bn, .*_.*):return(false) + contains(bn, ^qconfig.*):return(false) + lines = $$cat($$_PRO_FILE_PWD_/$$1, lines) + contains(lines, $${LITERAL_HASH}pragma qt_no_master_include):return(false) + return(true) +} + # Create module version header MODULE_VERSION_HEADER = $$find(SYNCQT.HEADER_FILES, (^|/)$${lctarget}version\\.h$) count(MODULE_VERSION_HEADER, 1) { @@ -30,4 +39,23 @@ count(MODULE_VERSION_HEADER, 1) { HEADERS += $$MODULE_VERSION_HEADER } +# Create a module master header +MODULE_MASTER_HEADER = $$MODULE_BASE_OUTDIR/include/$$TARGET/$$TARGET +!build_pass { + MODULE_MASTER_HEADER_CONT = \ + "/* This file was generated by qmake with the info from $${_PRO_FILE_}. */" \ + "$${LITERAL_HASH}ifndef QT_$${ucmodule}_MODULE_H" \ + "$${LITERAL_HASH}define QT_$${ucmodule}_MODULE_H" + for(dep, MODULE_DEPENDS) { + depname = $$eval(QT.$${dep}.name) + MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}include <$$depname/$$depname>" + } + for(hdr, SYNCQT.HEADER_FILES): \ + shouldMasterInclude($$hdr): \ + MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}include \"$$replace(hdr, .*/, )\"" + MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}endif" + write_file($$MODULE_MASTER_HEADER, MODULE_MASTER_HEADER_CONT)|error("Aborting.") +} +SYNCQT.HEADER_FILES += $$MODULE_MASTER_HEADER + CONFIG += qt_install_headers |