8e36b8de02
Change-Id: I5ad28827ff317985414e859263af85ceec31207c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
87 lines
3.3 KiB
Plaintext
87 lines
3.3 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 {
|
|
qtPrepareTool(QMAKE_SYNCQT, syncqt)
|
|
contains(QT_CONFIG, private_tests): \ # -developer-build
|
|
QMAKE_SYNCQT += -check-includes
|
|
QMAKE_SYNCQT += -module $$MODULE_INCNAME -mkspecsdir $$[QT_HOST_DATA/get]/mkspecs -outdir $$MODULE_BASE_OUTDIR $$MODULE_BASE_DIR
|
|
!silent: message($$QMAKE_SYNCQT)
|
|
system($$QMAKE_SYNCQT)|error("Failed to run: $$QMAKE_SYNCQT")
|
|
}
|
|
|
|
#load up the headers info
|
|
include($$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/headers.pri, "", true)
|
|
|
|
lctarget = $$lower($$MODULE_INCNAME)
|
|
uctarget = $$upper($$MODULE_INCNAME)
|
|
|
|
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)
|
|
}
|
|
|
|
autogen_warning = \
|
|
"/* This file was generated by qmake with the info from <root>/$$relative_path($$_PRO_FILE_, $$MODULE_BASE_DIR). */"
|
|
|
|
# Create module version header
|
|
MODULE_VERSION_HEADER = $$find(SYNCQT.HEADER_FILES, (^|/)$${lctarget}version\\.h$)
|
|
count(MODULE_VERSION_HEADER, 1) {
|
|
MODULE_VERSION_HEADER = $$absolute_path($$MODULE_VERSION_HEADER, $$_PRO_FILE_PWD_)
|
|
|
|
!build_pass {
|
|
majorhexstr = $$format_number($$section(VERSION, ., 0, 0), width=2 zeropad obase=16)
|
|
minorhexstr = $$format_number($$section(VERSION, ., 1, 1), width=2 zeropad obase=16)
|
|
patchhexstr = $$format_number($$section(VERSION, ., 2, 2), width=2 zeropad obase=16)
|
|
modulehexstring = 0x$${majorhexstr}$${minorhexstr}$${patchhexstr}
|
|
MODULE_VERSION_HEADER_CONT = \
|
|
$$autogen_warning \
|
|
"$${LITERAL_HASH}ifndef QT_$${uctarget}_VERSION_H" \
|
|
"$${LITERAL_HASH}define QT_$${uctarget}_VERSION_H" \
|
|
"" \
|
|
"$${LITERAL_HASH}define $${uctarget}_VERSION_STR \"$$VERSION\"" \
|
|
"" \
|
|
"$${LITERAL_HASH}define $${uctarget}_VERSION $$modulehexstring" \
|
|
"" \
|
|
"$${LITERAL_HASH}endif // QT_$${uctarget}_VERSION_H"
|
|
write_file($$MODULE_VERSION_HEADER, MODULE_VERSION_HEADER_CONT)|error("Aborting.")
|
|
}
|
|
|
|
HEADERS += $$MODULE_VERSION_HEADER
|
|
}
|
|
|
|
# Create a module master header
|
|
MODULE_MASTER_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$$MODULE_INCNAME
|
|
!build_pass {
|
|
MODULE_MASTER_HEADER_CONT = \
|
|
$$autogen_warning \
|
|
"$${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
|