diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2018-11-30 10:34:05 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2018-12-03 12:58:31 +0000 |
commit | 0c38e3aea7bd0603cb8954b98c0c51fdacb4fdfc (patch) | |
tree | f88e76f86a8e10a3717de2a24388096c2ddf9cbf /src/plugins/cpptools/compileroptionsbuilder.h | |
parent | ce9f503691dd943fb0f376a91b77b1cf4e1bbc9e (diff) | |
download | qt-creator-0c38e3aea7bd0603cb8954b98c0c51fdacb4fdfc.tar.gz |
Clang: Clean up CompilerOptionsBuilder
No behavior change.
* Remove virtual from methods that are not overridden
* Move constant member functions that do no access any members into
source file as static functions
* Remove QLatin1String where possible
* Make variable names a bit more consistent
* Other minor stuff
Change-Id: I34a582d5a468489e11365507b283e9aee157664f
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.h')
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.h | 70 |
1 files changed, 20 insertions, 50 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.h b/src/plugins/cpptools/compileroptionsbuilder.h index 66202e72d6..12c2b8bce2 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.h +++ b/src/plugins/cpptools/compileroptionsbuilder.h @@ -31,50 +31,30 @@ namespace CppTools { -enum class UseSystemHeader : char -{ - Yes, - No -}; - -enum class SkipBuiltIn : char -{ - Yes, - No -}; - -enum class SkipLanguageDefines : char -{ - Yes, - No -}; +enum class UsePrecompiledHeaders : char { Yes, No }; +enum class UseSystemHeader : char { Yes, No }; +enum class SkipBuiltIn : char { Yes, No }; +enum class SkipLanguageDefines : char { Yes, No }; class CPPTOOLS_EXPORT CompilerOptionsBuilder { public: - enum class PchUsage { - None, - Use - }; - CompilerOptionsBuilder(const ProjectPart &projectPart, UseSystemHeader useSystemHeader = UseSystemHeader::No, SkipBuiltIn skipBuiltInHeaderPathsAndDefines = SkipBuiltIn::No, SkipLanguageDefines skipLanguageDefines = SkipLanguageDefines::Yes, - QString clangVersion = QString(), - QString clangResourceDirectory = QString()); + const QString &clangVersion = QString(), + const QString &clangResourceDirectory = QString()); - QStringList build(ProjectFile::Kind fileKind, - PchUsage pchUsage); - QStringList options() const; + QStringList build(ProjectFile::Kind fileKind, UsePrecompiledHeaders usePrecompiledHeaders); + QStringList options() const { return m_options; } - virtual void addExtraOptions() {} // Add options based on project part virtual void addToolchainAndProjectMacros(); void addWordWidth(); void addToolchainFlags(); void addHeaderPathOptions(); - void addPrecompiledHeaderOptions(PchUsage pchUsage); + void addPrecompiledHeaderOptions(UsePrecompiledHeaders usePrecompiledHeaders); void addMacros(const ProjectExplorer::Macros ¯os); void addTargetTriple(); @@ -92,36 +72,26 @@ public: void addProjectConfigFileInclude(); void undefineClangVersionMacrosForMsvc(); -protected: - virtual bool excludeDefineDirective(const ProjectExplorer::Macro ¯o) const; - virtual bool excludeHeaderPath(const QString &headerPath) const; - - virtual QString defineOption() const; - virtual QString undefineOption() const; - virtual QString includeOption() const; - // Add custom options - void add(const QString &option); + void add(const QString &option) { m_options.append(option); } + virtual void addExtraOptions() {} +private: + bool excludeDefineDirective(const ProjectExplorer::Macro ¯o) const; QString includeDirOptionForPath(const QString &path) const; + void addWrappedQtHeadersIncludePath(QStringList &list) const; +private: const ProjectPart &m_projectPart; -private: - QByteArray macroOption(const ProjectExplorer::Macro ¯o) const; - QByteArray toDefineOption(const ProjectExplorer::Macro ¯o) const; - QString defineDirectiveToDefineOption(const ProjectExplorer::Macro &marco) const; + const UseSystemHeader m_useSystemHeader; + const SkipBuiltIn m_skipBuiltInHeaderPathsAndDefines; + const SkipLanguageDefines m_skipLanguageDefines; - void addWrappedQtHeadersIncludePath(QStringList &list); + const QString m_clangVersion; + const QString m_clangResourceDirectory; QStringList m_options; - - QString m_clangVersion; - QString m_clangResourceDirectory; - - UseSystemHeader m_useSystemHeader; - SkipBuiltIn m_skipBuiltInHeaderPathsAndDefines; - SkipLanguageDefines m_skipLanguageDefines; }; } // namespace CppTools |