summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/compileroptionsbuilder.h
diff options
context:
space:
mode:
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