diff options
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.h')
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.h | 23 |
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 ¯os); - 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 ¯o) const; @@ -79,8 +89,11 @@ private: QByteArray macroOption(const ProjectExplorer::Macro ¯o) const; QByteArray toDefineOption(const ProjectExplorer::Macro ¯o) const; QString defineDirectiveToDefineOption(const ProjectExplorer::Macro &marco) const; + QString clangIncludeDirectory() const; QStringList m_options; + QString m_clangVersion; + QString m_clangResourceDirectory; }; } // namespace CppTools |