summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/compileroptionsbuilder.h
diff options
context:
space:
mode:
authorIvan Donchevskii <ivan.donchevskii@qt.io>2017-09-27 10:32:52 +0200
committerIvan Donchevskii <ivan.donchevskii@qt.io>2017-10-23 12:46:34 +0000
commitb10f8484c7bb62b297fbbdafdbf9ef0e7074a01a (patch)
tree5d7af481cacb6f618d121185474e00cfc36f1958 /src/plugins/cpptools/compileroptionsbuilder.h
parentf19facd37842de97f2330e3a34c2bdfc3552dea9 (diff)
downloadqt-creator-b10f8484c7bb62b297fbbdafdbf9ef0e7074a01a.tar.gz
CppTools: merge CompilerOptionsBuilder with Clang one
Since it's never used for other compilers. Change-Id: I9512692d1dc9f9a701ea2453b7d50005478bed5d Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.h')
-rw-r--r--src/plugins/cpptools/compileroptionsbuilder.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.h b/src/plugins/cpptools/compileroptionsbuilder.h
index 8ca985dc28..5f5e3d5e8d 100644
--- a/src/plugins/cpptools/compileroptionsbuilder.h
+++ b/src/plugins/cpptools/compileroptionsbuilder.h
@@ -39,9 +39,21 @@ public:
Use
};
- CompilerOptionsBuilder(const ProjectPart &projectPart);
+ CompilerOptionsBuilder(const ProjectPart &projectPart,
+ const QString &clangVersion = QString(),
+ const QString &clangResourceDirectory = QString());
virtual ~CompilerOptionsBuilder() {}
+ virtual void addTargetTriple();
+ virtual void enableExceptions();
+ virtual void addPredefinedHeaderPathsOptions();
+ virtual void addLanguageOption(ProjectFile::Kind fileKind);
+ virtual void addOptionsForLanguage(bool checkForBorlandExtensions = true);
+
+ virtual void addExtraOptions() {}
+
+ QStringList build(ProjectFile::Kind fileKind,
+ PchUsage pchUsage);
QStringList options() const;
// Add custom options
@@ -50,19 +62,17 @@ public:
// Add options based on project part
void addWordWidth();
- virtual void addTargetTriple();
- virtual void enableExceptions();
void addHeaderPathOptions();
void addPrecompiledHeaderOptions(PchUsage pchUsage);
void addToolchainAndProjectMacros();
void addMacros(const ProjectExplorer::Macros &macros);
- virtual void addLanguageOption(ProjectFile::Kind fileKind);
- virtual void addOptionsForLanguage(bool checkForBorlandExtensions = true);
void addMsvcCompatibilityVersion();
void undefineCppLanguageFeatureMacrosForMsvc2015();
void addDefineFloat128ForMingw();
+ void addProjectConfigFileInclude();
+ void undefineClangVersionMacrosForMsvc();
protected:
virtual bool excludeDefineDirective(const ProjectExplorer::Macro &macro) const;
@@ -79,8 +89,11 @@ private:
QByteArray macroOption(const ProjectExplorer::Macro &macro) const;
QByteArray toDefineOption(const ProjectExplorer::Macro &macro) const;
QString defineDirectiveToDefineOption(const ProjectExplorer::Macro &marco) const;
+ QString clangIncludeDirectory() const;
QStringList m_options;
+ QString m_clangVersion;
+ QString m_clangResourceDirectory;
};
} // namespace CppTools