summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/compileroptionsbuilder.h
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2018-11-30 10:34:05 +0100
committerNikolai Kosjar <nikolai.kosjar@qt.io>2018-12-03 12:58:31 +0000
commit0c38e3aea7bd0603cb8954b98c0c51fdacb4fdfc (patch)
treef88e76f86a8e10a3717de2a24388096c2ddf9cbf /src/plugins/cpptools/compileroptionsbuilder.h
parentce9f503691dd943fb0f376a91b77b1cf4e1bbc9e (diff)
downloadqt-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.h70
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 &macros);
void addTargetTriple();
@@ -92,36 +72,26 @@ public:
void addProjectConfigFileInclude();
void undefineClangVersionMacrosForMsvc();
-protected:
- virtual bool excludeDefineDirective(const ProjectExplorer::Macro &macro) 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 &macro) const;
QString includeDirOptionForPath(const QString &path) const;
+ void addWrappedQtHeadersIncludePath(QStringList &list) const;
+private:
const ProjectPart &m_projectPart;
-private:
- QByteArray macroOption(const ProjectExplorer::Macro &macro) const;
- QByteArray toDefineOption(const ProjectExplorer::Macro &macro) 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