diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-03-27 16:00:18 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-03-30 13:46:42 +0200 |
commit | 3f0126ed86f56178fa707db629fabcc01eb31754 (patch) | |
tree | 486ee21b1c1cd37eee2eabdb43e8e125b0d10831 /src/qmltyperegistrar | |
parent | 0124f73dfb779924e46eb8b319358dbbd5af2577 (diff) |
qmltyperegistrar: Accept more file extensions as headers
Also, even if the file does not appear to be a header, still try to
include it. People use strange file names.
Change-Id: I2db7bd6aa14007a8b458c3860ba0553bb3b384b7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qmltyperegistrar')
-rw-r--r-- | src/qmltyperegistrar/qmltyperegistrar.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/qmltyperegistrar/qmltyperegistrar.cpp b/src/qmltyperegistrar/qmltyperegistrar.cpp index 6154d87e99..282fa9251b 100644 --- a/src/qmltyperegistrar/qmltyperegistrar.cpp +++ b/src/qmltyperegistrar/qmltyperegistrar.cpp @@ -307,16 +307,19 @@ int main(int argc, char **argv) case GadgetRegistration: case ObjectRegistration: { const QString include = metaObject[QLatin1String("inputFile")].toString(); - const bool declaredInHeader = include.endsWith(QLatin1String(".h")); - if (declaredInHeader) { - includes.append(include); - classDef.insert(QLatin1String("registerable"), true); - } else { - fprintf(stderr, "Cannot generate QML type registration for class %s " - "because it is not declared in a header.", + if (!include.endsWith(QLatin1String(".h")) + && !include.endsWith(QLatin1String(".hpp")) + && !include.endsWith(QLatin1String(".hxx")) + && include.contains(QLatin1Char('.'))) { + fprintf(stderr, + "Class %s is declared in %s, which appears not to be a header.\n" + "The compilation of its registration to QML may fail.\n", qPrintable(classDef.value(QLatin1String("qualifiedClassName")) - .toString())); + .toString()), + qPrintable(include)); } + includes.append(include); + classDef.insert(QLatin1String("registerable"), true); types.append(classDef); break; |