diff options
Diffstat (limited to 'src/linguist/lupdate')
-rw-r--r-- | src/linguist/lupdate/clangtoolastreader.h | 11 | ||||
-rw-r--r-- | src/linguist/lupdate/lupdate.pro | 5 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/linguist/lupdate/clangtoolastreader.h b/src/linguist/lupdate/clangtoolastreader.h index e43bc471d..e339cca85 100644 --- a/src/linguist/lupdate/clangtoolastreader.h +++ b/src/linguist/lupdate/clangtoolastreader.h @@ -64,6 +64,10 @@ QT_BEGIN_NAMESPACE Q_DECLARE_LOGGING_CATEGORY(lcClang) +#define LUPDATE_CLANG_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) +#define LUPDATE_CLANG_VERSION LUPDATE_CLANG_VERSION_CHECK(LUPDATE_CLANG_VERSION_MAJOR, \ + LUPDATE_CLANG_VERSION_MINOR, LUPDATE_CLANG_VERSION_PATCH) + class LupdateVisitor : public clang::RecursiveASTVisitor<LupdateVisitor> { public: @@ -120,10 +124,17 @@ public: : m_tor(tor) {} +#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(10,0,0)) + std::unique_ptr<clang::FrontendAction> create() override + { + return std::make_unique<LupdateFrontendAction>(m_tor); + } +#else clang::FrontendAction *create() override { return new LupdateFrontendAction(m_tor); } +#endif private: Translator *m_tor { nullptr }; diff --git a/src/linguist/lupdate/lupdate.pro b/src/linguist/lupdate/lupdate.pro index ddf115bab..f93e521d5 100644 --- a/src/linguist/lupdate/lupdate.pro +++ b/src/linguist/lupdate/lupdate.pro @@ -16,6 +16,11 @@ qtConfig(clangcpp) { !contains(QMAKE_DEFAULT_LIBDIRS, $$CLANG_LIBDIR):!disable_external_rpath: QMAKE_RPATHDIR += $$CLANG_LIBDIR DEFINES += $$shell_quote(CLANG_RESOURCE_DIR=\"$${CLANG_LIBDIR}/clang/$${CLANG_VERSION}/include\") + + DEFINES += $$shell_quote(LUPDATE_CLANG_VERSION_STR=\"$${CLANG_VERSION}\") \ + LUPDATE_CLANG_VERSION_MAJOR=$${CLANG_MAJOR_VERSION} \ + LUPDATE_CLANG_VERSION_MINOR=$${CLANG_MINOR_VERSION} \ + LUPDATE_CLANG_VERSION_PATCH=$${CLANG_PATCH_VERSION} } CONFIG += rtti_off |