diff options
author | Liang Qi <liang.qi@qt.io> | 2018-08-16 13:34:53 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-08-16 18:48:59 +0200 |
commit | 8559bf934def636ccff487464adb600d219f8778 (patch) | |
tree | 3063152f487798c7103dbf61216e48c37586a4e1 /qmake | |
parent | f1a6b97fe2d3eda9455b13bb79828f250d46b92e (diff) | |
parent | a0ebd98f58b2d92c34fafbc620f024caa36bf0ad (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
src/corelib/global/qconfig-bootstrapped.h
src/plugins/platforms/xcb/qxcbbackingstore.cpp
Done-with: Gatis Paeglis <gatis.paeglis@qt.io>
Change-Id: I4af138ffb2f5306373244523768209e8873b2798
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/win32/msbuild_objectmodel.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index 59e6127e46..ad2976aa01 100644 --- a/qmake/generators/win32/msbuild_objectmodel.cpp +++ b/qmake/generators/win32/msbuild_objectmodel.cpp @@ -557,6 +557,12 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProjectSingleConfig &tool) addFilters(tempProj, xmlFilter, "Deployment Files"); addFilters(tempProj, xmlFilter, "Distribution Files"); + tempProj.ExtraCompilers.reserve(tool.ExtraCompilersFiles.size()); + std::transform(tool.ExtraCompilersFiles.cbegin(), tool.ExtraCompilersFiles.cend(), + std::back_inserter(tempProj.ExtraCompilers), + [] (const VCFilter &filter) { return filter.Name; }); + tempProj.ExtraCompilers.removeDuplicates(); + for (int x = 0; x < tempProj.ExtraCompilers.count(); ++x) addFilters(tempProj, xmlFilter, tempProj.ExtraCompilers.at(x)); @@ -1977,6 +1983,15 @@ bool VCXProjectWriter::outputFileConfig(OutputFilterData *d, XmlOutput &xml, Xml return fileAdded; } +static bool isFileClCompatible(const QString &filePath) +{ + auto filePathEndsWith = [&filePath] (const QString &ext) { + return filePath.endsWith(ext, Qt::CaseInsensitive); + }; + return std::any_of(Option::cpp_ext.cbegin(), Option::cpp_ext.cend(), filePathEndsWith) + || std::any_of(Option::c_ext.cbegin(), Option::c_ext.cend(), filePathEndsWith); +} + void VCXProjectWriter::outputFileConfig(XmlOutput &xml, XmlOutput &xmlFilter, const QString &filePath, const QString &filterName) { @@ -2000,7 +2015,7 @@ void VCXProjectWriter::outputFileConfig(XmlOutput &xml, XmlOutput &xmlFilter, << attrTagS("Filter", filterName); xml << tag("ClInclude") << attrTag("Include", nativeFilePath); - } else if (filePath.endsWith(".cpp")) { + } else if (isFileClCompatible(filePath)) { xmlFilter << tag("ClCompile") << attrTag("Include", nativeFilePath) << attrTagS("Filter", filterName); |