aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp')
-rw-r--r--src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp32
1 files changed, 14 insertions, 18 deletions
diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp
index ee3c329141..4504fd82b9 100644
--- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp
+++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp
@@ -52,7 +52,6 @@
#include <utils/runextensions.h>
#include <QFileDialog>
-#include <QTimer>
#ifdef Q_OS_WIN
#include <Windows.h>
@@ -78,7 +77,7 @@ bool isClCompatibleCompiler(const QString &compilerName)
return compilerName.endsWith("cl");
}
-Core::Id getCompilerId(QString compilerName)
+Utils::Id getCompilerId(QString compilerName)
{
if (Utils::HostOsInfo::isWindowsHost()) {
if (compilerName.endsWith(".exe"))
@@ -96,7 +95,7 @@ Core::Id getCompilerId(QString compilerName)
return ProjectExplorer::Constants::CLANG_TOOLCHAIN_TYPEID;
}
-ToolChain *toolchainFromCompilerId(const Core::Id &compilerId, const Core::Id &language)
+ToolChain *toolchainFromCompilerId(const Utils::Id &compilerId, const Utils::Id &language)
{
return ToolChainManager::toolChain([&compilerId, &language](const ToolChain *tc) {
if (!tc->isValid() || tc->language() != language)
@@ -126,7 +125,7 @@ QString compilerPath(QString pathFlag)
return QDir::fromNativeSeparators(pathFlag);
}
-ToolChain *toolchainFromFlags(const Kit *kit, const QStringList &flags, const Core::Id &language)
+ToolChain *toolchainFromFlags(const Kit *kit, const QStringList &flags, const Utils::Id &language)
{
if (flags.empty())
return ToolChainKitAspect::toolChain(kit, language);
@@ -139,7 +138,7 @@ ToolChain *toolchainFromFlags(const Kit *kit, const QStringList &flags, const Co
if (toolchain)
return toolchain;
- Core::Id compilerId = getCompilerId(compiler.fileName());
+ Utils::Id compilerId = getCompilerId(compiler.fileName());
if ((toolchain = toolchainFromCompilerId(compilerId, language)))
return toolchain;
@@ -337,20 +336,15 @@ void createTree(std::unique_ptr<ProjectNode> &root,
CompilationDatabaseBuildSystem::CompilationDatabaseBuildSystem(Target *target)
: BuildSystem(target)
, m_cppCodeModelUpdater(std::make_unique<CppTools::CppProjectUpdater>())
- , m_parseDelay(new QTimer(this))
, m_deployFileWatcher(new FileSystemWatcher(this))
{
connect(target->project(), &CompilationDatabaseProject::rootProjectDirectoryChanged,
this, [this] {
m_projectFileHash.clear();
- m_parseDelay->start();
+ requestDelayedParse();
});
- connect(m_parseDelay, &QTimer::timeout, this, &CompilationDatabaseBuildSystem::reparseProject);
-
- m_parseDelay->setSingleShot(true);
- m_parseDelay->setInterval(1000);
- m_parseDelay->start();
+ requestDelayedParse();
connect(project(), &Project::projectFileIsDirty, this, &CompilationDatabaseBuildSystem::reparseProject);
@@ -373,8 +367,8 @@ void CompilationDatabaseBuildSystem::triggerParsing()
void CompilationDatabaseBuildSystem::buildTreeAndProjectParts()
{
- Kit *kit = target()->kit();
- ProjectExplorer::KitInfo kitInfo(kit);
+ Kit *k = kit();
+ ProjectExplorer::KitInfo kitInfo(k);
QTC_ASSERT(kitInfo.isValid(), return);
// Reset toolchains to pick them based on the database entries.
kitInfo.cToolChain = nullptr;
@@ -393,7 +387,7 @@ void CompilationDatabaseBuildSystem::buildTreeAndProjectParts()
prevEntry = &entry;
RawProjectPart rpp = makeRawProjectPart(projectFilePath(),
- kit,
+ k,
kitInfo,
entry.workingDir,
entry.fileName,
@@ -451,9 +445,11 @@ Utils::FilePath CompilationDatabaseProject::rootPathFromSettings() const
#endif
}
-void CompilationDatabaseProject::configureAsExampleProject()
+void CompilationDatabaseProject::configureAsExampleProject(Kit *kit)
{
- if (KitManager::defaultKit())
+ if (kit)
+ addTargetForKit(kit);
+ else if (KitManager::defaultKit())
addTargetForKit(KitManager::defaultKit());
}
@@ -522,7 +518,7 @@ CompilationDatabaseEditorFactory::CompilationDatabaseEditorFactory()
class CompilationDatabaseBuildConfiguration : public BuildConfiguration
{
public:
- CompilationDatabaseBuildConfiguration(Target *target, Core::Id id)
+ CompilationDatabaseBuildConfiguration(Target *target, Utils::Id id)
: BuildConfiguration(target, id)
{
}