forked from qt-creator/qt-creator
Clang: Unify CompilerOptionsBuilder options
No behavior change. Sometimes we use "SkipX, sometimes "UseX". Unify to "UseX" as this is more natural to read. Change-Id: Ib08bdb4cde93ed55fdb9c855566b10a3933cae37 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
@@ -69,8 +69,8 @@ public:
|
|||||||
LibClangOptionsBuilder(const ProjectPart &projectPart)
|
LibClangOptionsBuilder(const ProjectPart &projectPart)
|
||||||
: CompilerOptionsBuilder(projectPart,
|
: CompilerOptionsBuilder(projectPart,
|
||||||
UseSystemHeader::No,
|
UseSystemHeader::No,
|
||||||
SkipBuiltIn::No,
|
UseBuiltin::Yes,
|
||||||
SkipLanguageDefines::Yes,
|
UseLanguageDefines::No,
|
||||||
QString(CLANG_VERSION),
|
QString(CLANG_VERSION),
|
||||||
QString(CLANG_RESOURCE_DIR))
|
QString(CLANG_RESOURCE_DIR))
|
||||||
{
|
{
|
||||||
@@ -336,9 +336,7 @@ void generateCompilationDB(::Utils::FileName projectDir, CppTools::ProjectInfo p
|
|||||||
for (ProjectPart::Ptr projectPart : projectInfo.projectParts()) {
|
for (ProjectPart::Ptr projectPart : projectInfo.projectParts()) {
|
||||||
const ::Utils::FileName buildDir = buildDirectory(*projectPart);
|
const ::Utils::FileName buildDir = buildDirectory(*projectPart);
|
||||||
|
|
||||||
CompilerOptionsBuilder optionsBuilder(*projectPart,
|
CompilerOptionsBuilder optionsBuilder(*projectPart, UseSystemHeader::No, UseBuiltin::No);
|
||||||
CppTools::UseSystemHeader::No,
|
|
||||||
CppTools::SkipBuiltIn::Yes);
|
|
||||||
optionsBuilder.build(CppTools::ProjectFile::Unclassified,
|
optionsBuilder.build(CppTools::ProjectFile::Unclassified,
|
||||||
CppTools::UsePrecompiledHeaders::No);
|
CppTools::UsePrecompiledHeaders::No);
|
||||||
|
|
||||||
|
@@ -192,9 +192,9 @@ static AnalyzeUnits toAnalyzeUnits(const FileInfos &fileInfos)
|
|||||||
const UsePrecompiledHeaders usePrecompiledHeaders = CppTools::getPchUsage();
|
const UsePrecompiledHeaders usePrecompiledHeaders = CppTools::getPchUsage();
|
||||||
for (const FileInfo &fileInfo : fileInfos) {
|
for (const FileInfo &fileInfo : fileInfos) {
|
||||||
CompilerOptionsBuilder optionsBuilder(*fileInfo.projectPart,
|
CompilerOptionsBuilder optionsBuilder(*fileInfo.projectPart,
|
||||||
CppTools::UseSystemHeader::No,
|
UseSystemHeader::No,
|
||||||
CppTools::SkipBuiltIn::No,
|
UseBuiltin::Yes,
|
||||||
CppTools::SkipLanguageDefines::Yes,
|
UseLanguageDefines::No,
|
||||||
QString(CLANG_VERSION),
|
QString(CLANG_VERSION),
|
||||||
QString(CLANG_RESOURCE_DIR));
|
QString(CLANG_RESOURCE_DIR));
|
||||||
QStringList arguments = extraClangToolsPrependOptions();
|
QStringList arguments = extraClangToolsPrependOptions();
|
||||||
|
@@ -73,14 +73,14 @@ static QString defineDirectiveToDefineOption(const ProjectExplorer::Macro ¯o
|
|||||||
|
|
||||||
CompilerOptionsBuilder::CompilerOptionsBuilder(const ProjectPart &projectPart,
|
CompilerOptionsBuilder::CompilerOptionsBuilder(const ProjectPart &projectPart,
|
||||||
UseSystemHeader useSystemHeader,
|
UseSystemHeader useSystemHeader,
|
||||||
SkipBuiltIn skipBuiltInHeaderPathsAndDefines,
|
UseBuiltin useBuiltInHeaderPathsAndDefines,
|
||||||
SkipLanguageDefines skipLanguageDefines,
|
UseLanguageDefines useLanguageDefines,
|
||||||
const QString &clangVersion,
|
const QString &clangVersion,
|
||||||
const QString &clangResourceDirectory)
|
const QString &clangResourceDirectory)
|
||||||
: m_projectPart(projectPart)
|
: m_projectPart(projectPart)
|
||||||
, m_useSystemHeader(useSystemHeader)
|
, m_useSystemHeader(useSystemHeader)
|
||||||
, m_skipBuiltInHeaderPathsAndDefines(skipBuiltInHeaderPathsAndDefines)
|
, m_useBuiltInHeaderPathsAndDefines(useBuiltInHeaderPathsAndDefines)
|
||||||
, m_skipLanguageDefines(skipLanguageDefines)
|
, m_useLanguageDefines(useLanguageDefines)
|
||||||
, m_clangVersion(clangVersion)
|
, m_clangVersion(clangVersion)
|
||||||
, m_clangResourceDirectory(clangResourceDirectory)
|
, m_clangResourceDirectory(clangResourceDirectory)
|
||||||
{
|
{
|
||||||
@@ -279,7 +279,7 @@ static int includeIndexForResourceDirectory(const QStringList &options, bool isM
|
|||||||
|
|
||||||
void CompilerOptionsBuilder::insertWrappedQtHeaders()
|
void CompilerOptionsBuilder::insertWrappedQtHeaders()
|
||||||
{
|
{
|
||||||
if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::Yes)
|
if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::No)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
QStringList wrappedQtHeaders;
|
QStringList wrappedQtHeaders;
|
||||||
@@ -343,7 +343,7 @@ void CompilerOptionsBuilder::addHeaderPathOptions()
|
|||||||
m_options.append(includes);
|
m_options.append(includes);
|
||||||
m_options.append(systemIncludes);
|
m_options.append(systemIncludes);
|
||||||
|
|
||||||
if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::Yes)
|
if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::No)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Exclude all built-in includes except Clang resource directory.
|
// Exclude all built-in includes except Clang resource directory.
|
||||||
@@ -391,7 +391,7 @@ void CompilerOptionsBuilder::addPrecompiledHeaderOptions(UsePrecompiledHeaders u
|
|||||||
|
|
||||||
void CompilerOptionsBuilder::addToolchainAndProjectMacros()
|
void CompilerOptionsBuilder::addToolchainAndProjectMacros()
|
||||||
{
|
{
|
||||||
if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::No)
|
if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::Yes)
|
||||||
addMacros(m_projectPart.toolChainMacros);
|
addMacros(m_projectPart.toolChainMacros);
|
||||||
addMacros(m_projectPart.projectMacros);
|
addMacros(m_projectPart.projectMacros);
|
||||||
}
|
}
|
||||||
@@ -621,7 +621,7 @@ bool CompilerOptionsBuilder::excludeDefineDirective(const ProjectExplorer::Macro
|
|||||||
"_MSVC_LANG",
|
"_MSVC_LANG",
|
||||||
"_MSC_FULL_VER",
|
"_MSC_FULL_VER",
|
||||||
"_MSC_VER"};
|
"_MSC_VER"};
|
||||||
if (m_skipLanguageDefines == SkipLanguageDefines::Yes
|
if (m_useLanguageDefines == UseLanguageDefines::No
|
||||||
&& std::find(languageDefines.begin(),
|
&& std::find(languageDefines.begin(),
|
||||||
languageDefines.end(),
|
languageDefines.end(),
|
||||||
macro.key) != languageDefines.end()) {
|
macro.key) != languageDefines.end()) {
|
||||||
@@ -673,7 +673,7 @@ void CompilerOptionsBuilder::addToolchainFlags()
|
|||||||
// In case of MSVC we need builtin clang defines to correctly handle clang includes
|
// In case of MSVC we need builtin clang defines to correctly handle clang includes
|
||||||
if (m_projectPart.toolchainType != ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID
|
if (m_projectPart.toolchainType != ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID
|
||||||
&& m_projectPart.toolchainType != ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID) {
|
&& m_projectPart.toolchainType != ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID) {
|
||||||
if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::No)
|
if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::Yes)
|
||||||
add("-undef");
|
add("-undef");
|
||||||
else
|
else
|
||||||
add("-fPIC");
|
add("-fPIC");
|
||||||
|
@@ -33,16 +33,16 @@ namespace CppTools {
|
|||||||
|
|
||||||
enum class UsePrecompiledHeaders : char { Yes, No };
|
enum class UsePrecompiledHeaders : char { Yes, No };
|
||||||
enum class UseSystemHeader : char { Yes, No };
|
enum class UseSystemHeader : char { Yes, No };
|
||||||
enum class SkipBuiltIn : char { Yes, No };
|
enum class UseBuiltin : char { Yes, No };
|
||||||
enum class SkipLanguageDefines : char { Yes, No };
|
enum class UseLanguageDefines : char { Yes, No };
|
||||||
|
|
||||||
class CPPTOOLS_EXPORT CompilerOptionsBuilder
|
class CPPTOOLS_EXPORT CompilerOptionsBuilder
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CompilerOptionsBuilder(const ProjectPart &projectPart,
|
CompilerOptionsBuilder(const ProjectPart &projectPart,
|
||||||
UseSystemHeader useSystemHeader = UseSystemHeader::No,
|
UseSystemHeader useSystemHeader = UseSystemHeader::No,
|
||||||
SkipBuiltIn skipBuiltInHeaderPathsAndDefines = SkipBuiltIn::No,
|
UseBuiltin useBuiltInHeaderPathsAndDefines = UseBuiltin::Yes,
|
||||||
SkipLanguageDefines skipLanguageDefines = SkipLanguageDefines::Yes,
|
UseLanguageDefines useLanguageDefines = UseLanguageDefines::No,
|
||||||
const QString &clangVersion = QString(),
|
const QString &clangVersion = QString(),
|
||||||
const QString &clangResourceDirectory = QString());
|
const QString &clangResourceDirectory = QString());
|
||||||
|
|
||||||
@@ -85,8 +85,8 @@ private:
|
|||||||
const ProjectPart &m_projectPart;
|
const ProjectPart &m_projectPart;
|
||||||
|
|
||||||
const UseSystemHeader m_useSystemHeader;
|
const UseSystemHeader m_useSystemHeader;
|
||||||
const SkipBuiltIn m_skipBuiltInHeaderPathsAndDefines;
|
const UseBuiltin m_useBuiltInHeaderPathsAndDefines;
|
||||||
const SkipLanguageDefines m_skipLanguageDefines;
|
const UseLanguageDefines m_useLanguageDefines;
|
||||||
|
|
||||||
const QString m_clangVersion;
|
const QString m_clangVersion;
|
||||||
const QString m_clangResourceDirectory;
|
const QString m_clangResourceDirectory;
|
||||||
|
@@ -89,8 +89,8 @@ TEST_F(CompilerOptionsBuilder, AddToolchainAndProjectMacrosWithoutSkipingLanguag
|
|||||||
{
|
{
|
||||||
CppTools::CompilerOptionsBuilder compilerOptionsBuilder{projectPart,
|
CppTools::CompilerOptionsBuilder compilerOptionsBuilder{projectPart,
|
||||||
CppTools::UseSystemHeader::No,
|
CppTools::UseSystemHeader::No,
|
||||||
CppTools::SkipBuiltIn::No,
|
CppTools::UseBuiltin::Yes,
|
||||||
CppTools:: SkipLanguageDefines::No};
|
CppTools::UseLanguageDefines::Yes};
|
||||||
|
|
||||||
compilerOptionsBuilder.addToolchainAndProjectMacros();
|
compilerOptionsBuilder.addToolchainAndProjectMacros();
|
||||||
|
|
||||||
@@ -147,8 +147,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersPath)
|
|||||||
{
|
{
|
||||||
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
|
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
|
||||||
CppTools::UseSystemHeader::No,
|
CppTools::UseSystemHeader::No,
|
||||||
CppTools::SkipBuiltIn::No,
|
CppTools::UseBuiltin::Yes,
|
||||||
CppTools::SkipLanguageDefines::Yes,
|
CppTools::UseLanguageDefines::No,
|
||||||
"7.0.0",
|
"7.0.0",
|
||||||
"");
|
"");
|
||||||
|
|
||||||
@@ -176,8 +176,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderMacOs)
|
|||||||
projectPart.headerPaths.append(defaultPaths);
|
projectPart.headerPaths.append(defaultPaths);
|
||||||
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
|
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
|
||||||
CppTools::UseSystemHeader::No,
|
CppTools::UseSystemHeader::No,
|
||||||
CppTools::SkipBuiltIn::No,
|
CppTools::UseBuiltin::Yes,
|
||||||
CppTools::SkipLanguageDefines::Yes,
|
CppTools::UseLanguageDefines::No,
|
||||||
"7.0.0",
|
"7.0.0",
|
||||||
"");
|
"");
|
||||||
|
|
||||||
@@ -210,8 +210,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderLinux)
|
|||||||
projectPart.toolChainTargetTriple = "x86_64-linux-gnu";
|
projectPart.toolChainTargetTriple = "x86_64-linux-gnu";
|
||||||
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
|
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
|
||||||
CppTools::UseSystemHeader::No,
|
CppTools::UseSystemHeader::No,
|
||||||
CppTools::SkipBuiltIn::No,
|
CppTools::UseBuiltin::Yes,
|
||||||
CppTools::SkipLanguageDefines::Yes,
|
CppTools::UseLanguageDefines::No,
|
||||||
"7.0.0",
|
"7.0.0",
|
||||||
"");
|
"");
|
||||||
|
|
||||||
@@ -240,8 +240,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderNoVersion)
|
|||||||
projectPart.toolChainTargetTriple = "x86_64-w64-windows-gnu";
|
projectPart.toolChainTargetTriple = "x86_64-w64-windows-gnu";
|
||||||
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
|
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
|
||||||
CppTools::UseSystemHeader::No,
|
CppTools::UseSystemHeader::No,
|
||||||
CppTools::SkipBuiltIn::No,
|
CppTools::UseBuiltin::Yes,
|
||||||
CppTools::SkipLanguageDefines::Yes,
|
CppTools::UseLanguageDefines::No,
|
||||||
"7.0.0",
|
"7.0.0",
|
||||||
"");
|
"");
|
||||||
|
|
||||||
@@ -277,8 +277,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderAndroidClang)
|
|||||||
projectPart.toolChainTargetTriple = "i686-linux-android";
|
projectPart.toolChainTargetTriple = "i686-linux-android";
|
||||||
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
|
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
|
||||||
CppTools::UseSystemHeader::No,
|
CppTools::UseSystemHeader::No,
|
||||||
CppTools::SkipBuiltIn::No,
|
CppTools::UseBuiltin::Yes,
|
||||||
CppTools::SkipLanguageDefines::Yes,
|
CppTools::UseLanguageDefines::No,
|
||||||
"7.0.0",
|
"7.0.0",
|
||||||
"");
|
"");
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user