Commit 5d8b8eed authored by Oswald Buddenhagen's avatar Oswald Buddenhagen Committed by The Qt Project
Browse files

move module version header generation back to syncqt


there is no particular reason for it being done by qmake.
avoids that the logic is distributed over two source files,
and allows us to generate these headers at pre-build time already,
including not forwarding to a yet unexisting file (which would have a
yet unknown location).

Change-Id: I9c78ab425cf6f01d076c86fd1ee602626f231487
Reviewed-by: default avatarJoerg Bornemann <joerg.bornemann@digia.com>
parent 5c555e3a
No related merge requests found
Showing with 13 additions and 29 deletions
...@@ -1094,6 +1094,19 @@ foreach my $lib (@modules_to_sync) { ...@@ -1094,6 +1094,19 @@ foreach my $lib (@modules_to_sync) {
syncHeader($lib, $VHeader, $vheader, 0); syncHeader($lib, $VHeader, $vheader, 0);
$pri_install_files .= fixPaths($vheader, $dir) . " "; $pri_install_files .= fixPaths($vheader, $dir) . " ";
$pri_install_classes .= fixPaths($VHeader, $dir) . " "; $pri_install_classes .= fixPaths($VHeader, $dir) . " ";
my @versions = split(/\./, $module_version);
my $modulehexstring = sprintf("0x%02X%02X%02X", $versions[0], $versions[1], $versions[2]);
my $vhdrcont =
"/* This file was generated by syncqt. */\n".
"#ifndef QT_".uc($lib)."_VERSION_H\n".
"#define QT_".uc($lib)."_VERSION_H\n".
"\n".
"#define ".uc($lib)."_VERSION_STR \"".$module_version."\"\n".
"\n".
"#define ".uc($lib)."_VERSION ".$modulehexstring."\n".
"\n".
"#endif // QT_".uc($lib)."_VERSION_H\n";
writeFile($vheader, $vhdrcont, $lib, "version header");
#handle the headers.pri for each module #handle the headers.pri for each module
my $headers_pri_contents = ""; my $headers_pri_contents = "";
......
...@@ -31,9 +31,6 @@ minimal_syncqt: return() ...@@ -31,9 +31,6 @@ minimal_syncqt: return()
#load up the headers info #load up the headers info
include($$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/headers.pri, "", true) include($$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/headers.pri, "", true)
lctarget = $$lower($$MODULE_INCNAME)
uctarget = $$upper($$MODULE_INCNAME)
defineTest(shouldMasterInclude) { defineTest(shouldMasterInclude) {
bn = $$basename(1) bn = $$basename(1)
contains(bn, .*_.*):return(false) contains(bn, .*_.*):return(false)
...@@ -46,32 +43,6 @@ defineTest(shouldMasterInclude) { ...@@ -46,32 +43,6 @@ defineTest(shouldMasterInclude) {
autogen_warning = \ autogen_warning = \
"/* This file was generated by qmake with the info from <root>/$$relative_path($$_PRO_FILE_, $$MODULE_BASE_DIR). */" "/* 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 # Create a module master header
MODULE_MASTER_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$$MODULE_INCNAME MODULE_MASTER_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$$MODULE_INCNAME
!build_pass { !build_pass {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment