diff --git a/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp b/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp index 04d4df6e692..93e6e6232af 100644 --- a/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp @@ -472,6 +472,11 @@ bool CMakeConfigItem::operator==(const CMakeConfigItem &o) const return o.key == key && o.value == value && o.isUnset == isUnset; } +uint qHash(const CMakeConfigItem &it) +{ + return ::qHash(it.key) ^ ::qHash(it.value) ^ ::qHash(it.isUnset); +} + #if WITH_TESTS } // namespace CMakeProjectManager diff --git a/src/plugins/cmakeprojectmanager/cmakeconfigitem.h b/src/plugins/cmakeprojectmanager/cmakeconfigitem.h index dc43b91cbcc..dae93455d72 100644 --- a/src/plugins/cmakeprojectmanager/cmakeconfigitem.h +++ b/src/plugins/cmakeprojectmanager/cmakeconfigitem.h @@ -43,8 +43,6 @@ class Kit; namespace CMakeProjectManager { -class CMakeConfig; - class CMAKE_EXPORT CMakeConfigItem { public: @@ -80,6 +78,8 @@ public: QStringList values; }; +uint qHash(const CMakeConfigItem &it); // needed for MSVC + class CMAKE_EXPORT CMakeConfig : public QList { public: