Clang: Unify compiler options builders

Make build command the same for all builders.
Minimize differences.

Change-Id: I1cfe5071b3afb4944ed178fff1e57d3aee45d8a9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Ivan Donchevskii
2017-09-11 14:08:00 +02:00
parent 736e568d94
commit 68a49c79da
15 changed files with 120 additions and 357 deletions

View File

@@ -34,33 +34,24 @@ namespace CppTools {
class CPPTOOLS_EXPORT ClangCompilerOptionsBuilder : public CompilerOptionsBuilder
{
public:
static QStringList build(const ProjectPart *projectPart,
ProjectFile::Kind fileKind,
PchUsage pchUsage,
const QString &clangVersion,
const QString &clangResourceDirectory);
QStringList build(ProjectFile::Kind fileKind,
PchUsage pchUsage);
ClangCompilerOptionsBuilder(const ProjectPart &projectPart,
const QString &clangVersion,
const QString &clangResourceDirectory);
const QString &clangVersion = QString(),
const QString &clangResourceDirectory = QString());
virtual void addPredefinedHeaderPathsOptions();
virtual void addExtraOptions();
bool excludeHeaderPath(const QString &path) const override;
void addPredefinedMacrosAndHeaderPathsOptions();
void addPredefinedMacrosAndHeaderPathsOptionsForMsvc();
void addPredefinedMacrosAndHeaderPathsOptionsForNonMsvc();
void addWrappedQtHeadersIncludePath();
virtual void addWrappedQtHeadersIncludePath();
void addProjectConfigFileInclude();
void addExtraOptions();
void undefineClangVersionMacrosForMsvc();
private:
QString clangIncludeDirectory() const;
private:
QString m_clangVersion;
QString m_clangResourceDirectory;
};