diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/corelib/language/jsimports.h | 3 | ||||
-rw-r--r-- | src/lib/corelib/language/language.cpp | 2 | ||||
-rw-r--r-- | src/lib/corelib/language/resolvedfilecontext.cpp | 2 | ||||
-rw-r--r-- | src/lib/corelib/tools/qttools.h | 15 |
4 files changed, 19 insertions, 3 deletions
diff --git a/src/lib/corelib/language/jsimports.h b/src/lib/corelib/language/jsimports.h index ebde70b7b..a892e0ec0 100644 --- a/src/lib/corelib/language/jsimports.h +++ b/src/lib/corelib/language/jsimports.h @@ -42,6 +42,7 @@ #include <tools/codelocation.h> #include <tools/persistence.h> +#include <tools/qttools.h> #include <QtCore/qhash.h> #include <QtCore/qstringlist.h> @@ -79,7 +80,7 @@ inline bool operator<(const JsImport &lhs, const JsImport &rhs) inline bool operator==(const JsImport &jsi1, const JsImport &jsi2) { - return jsi1.scopeName == jsi2.scopeName && jsi1.filePaths.toSet() == jsi2.filePaths.toSet(); + return jsi1.scopeName == jsi2.scopeName && toSet(jsi1.filePaths) == toSet(jsi2.filePaths); } using JsImports = std::vector<JsImport>; diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp index d888700c5..40549b836 100644 --- a/src/lib/corelib/language/language.cpp +++ b/src/lib/corelib/language/language.cpp @@ -241,7 +241,7 @@ bool operator==(const ResolvedModule &m1, const ResolvedModule &m2) { return m1.name == m2.name && m1.isProduct == m2.isProduct - && m1.moduleDependencies.toSet() == m2.moduleDependencies.toSet() + && toSet(m1.moduleDependencies) == toSet(m2.moduleDependencies) && m1.setupBuildEnvironmentScript == m2.setupBuildEnvironmentScript && m1.setupRunEnvironmentScript == m2.setupRunEnvironmentScript; } diff --git a/src/lib/corelib/language/resolvedfilecontext.cpp b/src/lib/corelib/language/resolvedfilecontext.cpp index f1151f98f..db63a8ef4 100644 --- a/src/lib/corelib/language/resolvedfilecontext.cpp +++ b/src/lib/corelib/language/resolvedfilecontext.cpp @@ -53,7 +53,7 @@ ResolvedFileContext::ResolvedFileContext(const FileContextBase &ctx) bool operator==(const ResolvedFileContext &a, const ResolvedFileContext &b) { return a.filePath() == b.filePath() - && a.jsExtensions().toSet() == b.jsExtensions().toSet() + && toSet(a.jsExtensions()) == toSet(b.jsExtensions()) && sorted(a.jsImports()) == sorted(b.jsImports()); } diff --git a/src/lib/corelib/tools/qttools.h b/src/lib/corelib/tools/qttools.h index b465e3d9e..c3b4d3a9f 100644 --- a/src/lib/corelib/tools/qttools.h +++ b/src/lib/corelib/tools/qttools.h @@ -70,4 +70,19 @@ uint qHash(const QStringList &list); uint qHash(const QProcessEnvironment &env); QT_END_NAMESPACE +namespace qbs { + +template <class T> +QSet<T> toSet(const QList<T> &list) +{ +#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0)) + return list.toSet(); +#else + return QSet<T>(list.begin(), list.end()); +#endif +} + +} // namespace qbs + + #endif // QBSQTTOOLS_H |