diff --git a/src/libs/utils/fileutils.cpp b/src/libs/utils/fileutils.cpp index fb70cbf85af..d90775e5033 100644 --- a/src/libs/utils/fileutils.cpp +++ b/src/libs/utils/fileutils.cpp @@ -27,7 +27,6 @@ #include "savefile.h" #include "algorithm.h" -#include "hostosinfo.h" #include "qtcassert.h" #include diff --git a/src/libs/utils/fileutils.h b/src/libs/utils/fileutils.h index fc6d80f7297..43f7fc2e86e 100644 --- a/src/libs/utils/fileutils.h +++ b/src/libs/utils/fileutils.h @@ -27,6 +27,8 @@ #include "utils_global.h" +#include "hostosinfo.h" + #include #include // Mac. #include @@ -233,4 +235,18 @@ QT_BEGIN_NAMESPACE QTCREATOR_UTILS_EXPORT uint qHash(const Utils::FileName &a); QT_END_NAMESPACE +namespace std { +template<> struct hash +{ + using argument_type = Utils::FileName; + using result_type = size_t; + result_type operator()(const argument_type &fn) const + { + if (Utils::HostOsInfo::fileNameCaseSensitivity() == Qt::CaseInsensitive) + return hash()(fn.toString().toUpper().toStdString()); + return hash()(fn.toString().toStdString()); + } +}; +} // namespace std + Q_DECLARE_METATYPE(Utils::FileName)