summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppprojectfile.cpp
diff options
context:
space:
mode:
authorIvan Donchevskii <ivan.donchevskii@qt.io>2019-01-11 15:32:12 +0100
committerIvan Donchevskii <ivan.donchevskii@qt.io>2019-01-16 12:17:31 +0000
commit0348009e0ebb082e15968440d39305dd9516b671 (patch)
tree3b5d849d397f1dfe5ae064c5ace4b855d5a3cb26 /src/plugins/cpptools/cppprojectfile.cpp
parent4c0c3f5a646d12f2acf571904b8440199d5c5ecb (diff)
downloadqt-creator-0348009e0ebb082e15968440d39305dd9516b671.tar.gz
Clang: Support MSVC style of compiler flags
Clang has MSVC compatible mode which works with MSVC style command line flags. When possible use the same flags (-I, -D, -U, etc.) and in other cases either replace by MSVC analog (for example use /FI instead of -include) or pass the argument with '/clang:' prefix (requires https://reviews.llvm.org/D53457). Change-Id: I95f33bed5dc8d9493895ed8d4359cdd70fc774b8 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/plugins/cpptools/cppprojectfile.cpp')
-rw-r--r--src/plugins/cpptools/cppprojectfile.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppprojectfile.cpp b/src/plugins/cpptools/cppprojectfile.cpp
index ec9dd31273..52c599d10b 100644
--- a/src/plugins/cpptools/cppprojectfile.cpp
+++ b/src/plugins/cpptools/cppprojectfile.cpp
@@ -118,6 +118,42 @@ bool ProjectFile::isSource() const
return isSource(kind);
}
+bool ProjectFile::isC(ProjectFile::Kind kind)
+{
+ switch (kind) {
+ case ProjectFile::CHeader:
+ case ProjectFile::CSource:
+ case ProjectFile::ObjCHeader:
+ case ProjectFile::ObjCSource:
+ return true;
+ default:
+ return false;
+ }
+}
+
+bool ProjectFile::isCxx(ProjectFile::Kind kind)
+{
+ switch (kind) {
+ case ProjectFile::CXXHeader:
+ case ProjectFile::CXXSource:
+ case ProjectFile::ObjCXXHeader:
+ case ProjectFile::ObjCXXSource:
+ return true;
+ default:
+ return false;
+ }
+}
+
+bool ProjectFile::isC() const
+{
+ return isC(kind);
+}
+
+bool ProjectFile::isCxx() const
+{
+ return isCxx(kind);
+}
+
#define RETURN_TEXT_FOR_CASE(enumValue) case ProjectFile::enumValue: return #enumValue
const char *projectFileKindToText(ProjectFile::Kind kind)
{