aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/autotest/autotestplugin.cpp4
-rw-r--r--src/plugins/autotest/testconfiguration.cpp13
-rw-r--r--src/plugins/autotest/testrunner.cpp4
-rw-r--r--src/plugins/clangcodemodel/clangdclient.cpp8
-rw-r--r--src/plugins/clangcodemodel/clangmodelmanagersupport.cpp19
-rw-r--r--src/plugins/clangtools/clangtool.cpp19
-rw-r--r--src/plugins/clangtools/documentclangtoolrunner.cpp6
-rw-r--r--src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp5
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp15
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeprojectnodes.cpp6
-rw-r--r--src/plugins/coco/cocoprojectsettingswidget.cpp10
-rw-r--r--src/plugins/cppeditor/cppeditorwidget.cpp6
-rw-r--r--src/plugins/cppeditor/cppmodelmanager.cpp9
-rw-r--r--src/plugins/debugger/unstartedappwatcherdialog.cpp29
-rw-r--r--src/plugins/designer/codemodelhelpers.cpp10
-rw-r--r--src/plugins/designer/qtcreatorintegration.cpp13
-rw-r--r--src/plugins/effectcomposer/effectcomposermodel.cpp6
-rw-r--r--src/plugins/genericprojectmanager/genericproject.cpp16
-rw-r--r--src/plugins/insight/insightmodel.cpp6
-rw-r--r--src/plugins/lua/bindings/project.cpp4
-rw-r--r--src/plugins/mcusupport/mcusupportplugin.cpp5
-rw-r--r--src/plugins/mesonprojectmanager/mesonprojectnodes.cpp5
-rw-r--r--src/plugins/perfprofiler/perfprofilertool.cpp3
-rw-r--r--src/plugins/projectexplorer/extracompiler.cpp8
-rw-r--r--src/plugins/projectexplorer/project.cpp69
-rw-r--r--src/plugins/projectexplorer/project.h8
-rw-r--r--src/plugins/projectexplorer/projectexplorer.cpp80
-rw-r--r--src/plugins/projectexplorer/projectmodels.cpp9
-rw-r--r--src/plugins/projectexplorer/projectnodes.cpp3
-rw-r--r--src/plugins/projectexplorer/projecttree.cpp8
-rw-r--r--src/plugins/projectexplorer/projecttree.h4
-rw-r--r--src/plugins/projectexplorer/rawprojectpart.cpp4
-rw-r--r--src/plugins/projectexplorer/workspaceproject.cpp12
-rw-r--r--src/plugins/python/pyside.cpp5
-rw-r--r--src/plugins/python/pythoneditor.cpp3
-rw-r--r--src/plugins/python/pythonlanguageclient.cpp12
-rw-r--r--src/plugins/python/pythonutils.cpp10
-rw-r--r--src/plugins/qbsprojectmanager/qbslanguageclient.cpp6
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.cpp14
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp28
-rw-r--r--src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp8
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp20
-rw-r--r--src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp6
-rw-r--r--src/plugins/qmljseditor/qmllsclientsettings.cpp13
-rw-r--r--src/plugins/qmljstools/qmljsmodelmanager.cpp22
-rw-r--r--src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.cpp4
-rw-r--r--src/plugins/qmlprojectmanager/qmlproject.cpp4
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectplugin.cpp10
-rw-r--r--src/plugins/qtsupport/externaleditors.cpp4
-rw-r--r--src/plugins/qtsupport/qscxmlcgenerator.cpp5
-rw-r--r--src/plugins/qtsupport/qtsupportplugin.cpp11
-rw-r--r--src/plugins/qtsupport/uicgenerator.cpp5
-rw-r--r--src/plugins/valgrind/memchecktool.cpp5
53 files changed, 263 insertions, 358 deletions
diff --git a/src/plugins/autotest/autotestplugin.cpp b/src/plugins/autotest/autotestplugin.cpp
index ff2afa7ee83..b30c0af001a 100644
--- a/src/plugins/autotest/autotestplugin.cpp
+++ b/src/plugins/autotest/autotestplugin.cpp
@@ -419,15 +419,13 @@ TestFrameworks activeTestFrameworks()
void updateMenuItemsEnabledState()
{
const Project *project = ProjectManager::startupProject();
- const Target *target = project ? project->activeTarget() : nullptr;
const bool disabled = dd->m_testCodeParser.state() == TestCodeParser::DisabledTemporarily;
const bool canScan = disabled || (!dd->m_testRunner.isTestRunning()
&& dd->m_testCodeParser.state() == TestCodeParser::Idle);
const bool hasTests = dd->m_testTreeModel.hasTests();
// avoid expensive call to PE::canRunStartupProject() - limit to minimum necessary checks
const bool canRun = !disabled && hasTests && canScan
- && project && !project->needsConfiguration()
- && target && target->activeRunConfiguration()
+ && project && !project->needsConfiguration() && project->activeRunConfiguration()
&& !BuildManager::isBuilding();
const bool canRunFailed = canRun && dd->m_testTreeModel.hasFailedTests();
diff --git a/src/plugins/autotest/testconfiguration.cpp b/src/plugins/autotest/testconfiguration.cpp
index a2579bf74ae..1d77e8ab76d 100644
--- a/src/plugins/autotest/testconfiguration.cpp
+++ b/src/plugins/autotest/testconfiguration.cpp
@@ -130,7 +130,7 @@ void TestConfiguration::completeTestInformation(RunConfiguration *rc,
m_runnable.command.setExecutable(ensureExeEnding(targetInfo.targetFilePath));
FilePath buildBase;
- if (auto buildConfig = target->activeBuildConfiguration()) {
+ if (auto buildConfig = startupProject->activeBuildConfiguration()) {
buildBase = buildConfig->buildDirectory();
const FilePath projBase = startupProject->projectDirectory();
if (m_projectFile.isChildOf(projBase)) {
@@ -167,14 +167,15 @@ void TestConfiguration::completeTestInformation(TestRunMode runMode)
Target *target = startupProject->activeTarget();
if (!target)
return;
- qCDebug(LOG) << "ActiveTargetName\n " << target->displayName();
- if (const auto kit = target->kit())
+ if (const auto kit = startupProject->activeKit()) {
+ qCDebug(LOG) << "ActiveTargetName\n " << kit->displayName();
qCDebug(LOG) << "SupportedPlatforms\n " << kit->supportedPlatforms();
+ }
const QSet<QString> buildSystemTargets = m_buildTargets;
qCDebug(LOG) << "BuildSystemTargets\n " << buildSystemTargets;
const QList<BuildTargetInfo> buildTargets
- = Utils::filtered(target->buildSystem()->applicationTargets(),
+ = Utils::filtered(startupProject->activeBuildSystem()->applicationTargets(),
[&buildSystemTargets](const BuildTargetInfo &bti) {
return buildSystemTargets.contains(bti.buildKey);
});
@@ -184,7 +185,7 @@ void TestConfiguration::completeTestInformation(TestRunMode runMode)
BuildTargetInfo targetInfo = buildTargets.size() ? buildTargets.first()
: BuildTargetInfo();
- if (RunDeviceTypeKitAspect::deviceTypeId(target->kit()) == ANDROID_DEVICE_TYPE) {
+ if (RunDeviceTypeKitAspect::deviceTypeId(startupProject->activeKit()) == ANDROID_DEVICE_TYPE) {
// Android can have test runner scripts named as displayName(.bat)
const FilePath script = ensureBatEnding(
targetInfo.targetFilePath.parentDir() / targetInfo.displayName);
@@ -206,7 +207,7 @@ void TestConfiguration::completeTestInformation(TestRunMode runMode)
return;
FilePath buildBase;
- if (auto buildConfig = target->activeBuildConfiguration()) {
+ if (auto buildConfig = startupProject->activeBuildConfiguration()) {
buildBase = buildConfig->buildDirectory();
const FilePath projBase = startupProject->projectDirectory();
if (m_projectFile.isChildOf(projBase)) {
diff --git a/src/plugins/autotest/testrunner.cpp b/src/plugins/autotest/testrunner.cpp
index 0c9090c3978..6546451ce12 100644
--- a/src/plugins/autotest/testrunner.cpp
+++ b/src/plugins/autotest/testrunner.cpp
@@ -563,8 +563,8 @@ void TestRunner::debugTests()
debugger->runParameters().setDisplayName(config->displayName());
bool useOutputProcessor = true;
- if (Target *targ = config->project()->activeTarget()) {
- if (Debugger::DebuggerKitAspect::engineType(targ->kit()) == Debugger::CdbEngineType) {
+ if (Kit *kit = config->project()->activeKit()) {
+ if (Debugger::DebuggerKitAspect::engineType(kit) == Debugger::CdbEngineType) {
reportResult(ResultType::MessageWarn,
Tr::tr("Unable to display test results when using CDB."));
useOutputProcessor = false;
diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp
index 864d00901dd..0fb6882f17e 100644
--- a/src/plugins/clangcodemodel/clangdclient.cpp
+++ b/src/plugins/clangcodemodel/clangdclient.cpp
@@ -169,11 +169,9 @@ std::optional<Utils::FilePath> clangdExecutableFromBuildDevice(Project *project)
if (!project)
return std::nullopt;
- if (ProjectExplorer::Target *target = project->activeTarget()) {
- if (const ProjectExplorer::IDeviceConstPtr buildDevice = BuildDeviceKitAspect::device(
- target->kit())) {
- return buildDevice->clangdExecutable();
- }
+ if (const ProjectExplorer::IDeviceConstPtr buildDevice = BuildDeviceKitAspect::device(
+ project->activeKit())) {
+ return buildDevice->clangdExecutable();
}
return std::nullopt;
diff --git a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
index ace76461d85..5ce8b3a93f0 100644
--- a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
+++ b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
@@ -139,11 +139,9 @@ static const QList<Project *> projectsForClient(const Client *client)
static bool fileIsProjectBuildArtifact(const Client *client, const FilePath &filePath)
{
for (const Project * const p : projectsForClient(client)) {
- if (const auto t = p->activeTarget()) {
- if (const auto bc = t->activeBuildConfiguration()) {
- if (filePath.isChildOf(bc->buildDirectory()))
- return true;
- }
+ if (const auto bc = p->activeBuildConfiguration()) {
+ if (filePath.isChildOf(bc->buildDirectory()))
+ return true;
}
}
return false;
@@ -210,8 +208,7 @@ static void updateParserConfig(ClangdClient *client)
static bool projectIsParsing(const ClangdClient *client)
{
for (const Project * const p : projectsForClient(client)) {
- const BuildSystem * const bs = p && p->activeTarget()
- ? p->activeTarget()->buildSystem() : nullptr;
+ const BuildSystem * const bs = p ? p->activeBuildSystem() : nullptr;
if (bs && (bs->isParsing() || bs->isWaitingForParse()))
return true;
}
@@ -475,11 +472,9 @@ static FilePath getJsonDbDir(Project *project)
{
if (!project)
return ClangdSettings::instance().sessionIndexPath(*globalMacroExpander());
- if (const Target *const target = project->activeTarget()) {
- if (const BuildConfiguration *const bc = target->activeBuildConfiguration()) {
- return ClangdSettings(ClangdProjectSettings(project).settings())
- .projectIndexPath(*bc->macroExpander());
- }
+ if (const BuildConfiguration *const bc = project->activeBuildConfiguration()) {
+ return ClangdSettings(ClangdProjectSettings(project).settings())
+ .projectIndexPath(*bc->macroExpander());
}
return {};
}
diff --git a/src/plugins/clangtools/clangtool.cpp b/src/plugins/clangtools/clangtool.cpp
index 5ca9f0816a6..acd30e5ece7 100644
--- a/src/plugins/clangtools/clangtool.cpp
+++ b/src/plugins/clangtools/clangtool.cpp
@@ -841,7 +841,7 @@ void ClangTool::startTool(FileSelection fileSelection, const RunSettings &runSet
QTC_ASSERT(project->activeTarget(), return);
// Continue despite release mode?
- if (BuildConfiguration *bc = project->activeTarget()->activeBuildConfiguration()) {
+ if (BuildConfiguration *bc = project->activeBuildConfiguration()) {
if (bc->buildType() == BuildConfiguration::Release)
if (!continueDespiteReleaseBuild(m_name))
return;
@@ -1032,16 +1032,13 @@ void ClangTool::reset()
static bool canAnalyzeProject(Project *project)
{
- if (const Target *target = project->activeTarget()) {
- const Id c = ProjectExplorer::Constants::C_LANGUAGE_ID;
- const Id cxx = ProjectExplorer::Constants::CXX_LANGUAGE_ID;
- const bool projectSupportsLanguage = project->projectLanguages().contains(c)
- || project->projectLanguages().contains(cxx);
- return projectSupportsLanguage
- && CppModelManager::projectInfo(project)
- && ToolchainKitAspect::cxxToolchain(target->kit());
- }
- return false;
+ const Id c = ProjectExplorer::Constants::C_LANGUAGE_ID;
+ const Id cxx = ProjectExplorer::Constants::CXX_LANGUAGE_ID;
+ const bool projectSupportsLanguage = project->projectLanguages().contains(c)
+ || project->projectLanguages().contains(cxx);
+ return projectSupportsLanguage
+ && CppModelManager::projectInfo(project)
+ && ToolchainKitAspect::cxxToolchain(project->activeKit());
}
struct CheckResult {
diff --git a/src/plugins/clangtools/documentclangtoolrunner.cpp b/src/plugins/clangtools/documentclangtoolrunner.cpp
index 093df0ab7b0..c1847e71e63 100644
--- a/src/plugins/clangtools/documentclangtoolrunner.cpp
+++ b/src/plugins/clangtools/documentclangtoolrunner.cpp
@@ -148,10 +148,8 @@ static FileInfo getFileInfo(const FilePath &file, Project *project)
static Environment projectBuildEnvironment(Project *project)
{
Environment env;
- if (Target *target = project->activeTarget()) {
- if (BuildConfiguration *buildConfig = target->activeBuildConfiguration())
- env = buildConfig->environment();
- }
+ if (BuildConfiguration *buildConfig = project->activeBuildConfiguration())
+ env = buildConfig->environment();
if (!env.hasChanges())
env = Environment::systemEnvironment();
return env;
diff --git a/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp b/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp
index 72831a4c37e..2ab1a931c38 100644
--- a/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp
@@ -42,10 +42,9 @@ static LocatorMatcherTasks cmakeMatchers(const BuildAcceptor &acceptor)
const QList<Project *> projects = ProjectManager::projects();
for (Project *project : projects) {
const auto cmakeProject = qobject_cast<const CMakeProject *>(project);
- if (!cmakeProject || !cmakeProject->activeTarget())
+ if (!cmakeProject)
continue;
- const auto bs = qobject_cast<CMakeBuildSystem *>(
- cmakeProject->activeTarget()->buildSystem());
+ const auto bs = qobject_cast<CMakeBuildSystem *>(cmakeProject->activeBuildSystem());
if (!bs)
continue;
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
index 0f137a4cdc7..91fdee79208 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
@@ -421,10 +421,7 @@ void CMakeManager::enableBuildFileMenus(Node *node)
Project *project = ProjectTree::projectForNode(node);
if (!project)
return;
- Target *target = project->activeTarget();
- if (!target)
- return;
- const QString generator = CMakeGeneratorKitAspect::generator(target->kit());
+ const QString generator = CMakeGeneratorKitAspect::generator(project->activeKit());
if (generator != "Ninja" && !generator.contains("Makefiles"))
return;
@@ -630,12 +627,10 @@ void CMakeManager::buildFile(Node *node)
if (wasHeader && !sourceFile.isEmpty())
filePath = sourceFile;
}
- Target *target = project->activeTarget();
- QTC_ASSERT(target, return);
- const QString generator = CMakeGeneratorKitAspect::generator(target->kit());
+ const QString generator = CMakeGeneratorKitAspect::generator(project->activeKit());
const FilePath relativeSource = filePath.relativeChildPath(targetNode->filePath());
Utils::FilePath targetBase;
- BuildConfiguration *bc = target->activeBuildConfiguration();
+ BuildConfiguration *bc = project->activeBuildConfiguration();
QTC_ASSERT(bc, return);
if (generator == "Ninja") {
const Utils::FilePath relativeBuildDir = targetNode->buildDirectory().relativeChildPath(
@@ -659,8 +654,8 @@ void CMakeManager::buildFile(Node *node)
return extension;
const auto toolchain = ProjectFile::isCxx(sourceKind)
- ? ToolchainKitAspect::cxxToolchain(target->kit())
- : ToolchainKitAspect::cToolchain(target->kit());
+ ? ToolchainKitAspect::cxxToolchain(project->activeKit())
+ : ToolchainKitAspect::cToolchain(project->activeKit());
using namespace ProjectExplorer::Constants;
static QSet<Id> objIds{
CLANG_CL_TOOLCHAIN_TYPEID,
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectnodes.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectnodes.cpp
index 5fc619d6ffc..436f58e7d61 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectnodes.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectnodes.cpp
@@ -280,10 +280,8 @@ std::optional<FilePath> CMakeTargetNode::visibleAfterAddFileAction() const
void CMakeTargetNode::build()
{
- Project *p = getProject();
- Target *t = p ? p->activeTarget() : nullptr;
- if (t)
- static_cast<CMakeBuildSystem *>(t->buildSystem())->buildCMakeTarget(displayName());
+ if (Project *p = getProject(); p && p->activeBuildSystem())
+ static_cast<CMakeBuildSystem *>(p->activeBuildSystem())->buildCMakeTarget(displayName());
}
void CMakeTargetNode::setTargetInformation(const QList<FilePath> &artifacts, const QString &type)
diff --git a/src/plugins/coco/cocoprojectsettingswidget.cpp b/src/plugins/coco/cocoprojectsettingswidget.cpp
index c7121cb22ff..5a056a2dfd6 100644
--- a/src/plugins/coco/cocoprojectsettingswidget.cpp
+++ b/src/plugins/coco/cocoprojectsettingswidget.cpp
@@ -33,9 +33,7 @@ public:
setGlobalSettingsId(Constants::COCO_SETTINGS_PAGE_ID);
auto layout = new QVBoxLayout;
- if (auto *target = project->activeTarget()) {
- auto abc = target->activeBuildConfiguration();
-
+ if (auto *abc = project->activeBuildConfiguration()) {
if (abc->id() == QmakeProjectManager::Constants::QMAKE_BC_ID
|| abc->id() == CMakeProjectManager::Constants::CMAKE_BUILDCONFIGURATION_ID)
layout->addWidget(new CocoProjectWidget(project, abc));
@@ -52,10 +50,8 @@ public:
setPriority(50);
setDisplayName(Tr::tr("Coco Code Coverage"));
setSupportsFunction([](Project *project) {
- if (Target *target = project->activeTarget()) {
- if (BuildConfiguration *abc = target->activeBuildConfiguration())
- return BuildSettings::supportsBuildConfig(*abc);
- }
+ if (BuildConfiguration *abc = project->activeBuildConfiguration())
+ return BuildSettings::supportsBuildConfig(*abc);
return false;
});
setCreateWidgetFunction(
diff --git a/src/plugins/cppeditor/cppeditorwidget.cpp b/src/plugins/cppeditor/cppeditorwidget.cpp
index e2bd2ef93e5..03d8e295324 100644
--- a/src/plugins/cppeditor/cppeditorwidget.cpp
+++ b/src/plugins/cppeditor/cppeditorwidget.cpp
@@ -782,10 +782,8 @@ void CppEditorWidget::showRenameWarningIfFileIsGenerated(const Utils::FilePath &
"This is normally not a good idea, as the file will likely get "
"overwritten during the build process.")
.arg(filePath.toUserOutput());
- if (const Target * const target = project->activeTarget()) {
- if (const BuildSystem * const bs = target->buildSystem())
- ec = bs->extraCompilerForTarget(filePath);
- }
+ if (const BuildSystem * const bs = project->activeBuildSystem())
+ ec = bs->extraCompilerForTarget(filePath);
if (ec) {
warning.append('\n').append(CppEditor::Tr::tr(
"Do you want to edit \"%1\" instead?")
diff --git a/src/plugins/cppeditor/cppmodelmanager.cpp b/src/plugins/cppeditor/cppmodelmanager.cpp
index 0e9f344ed1e..8ce2cb6f3e3 100644
--- a/src/plugins/cppeditor/cppmodelmanager.cpp
+++ b/src/plugins/cppeditor/cppmodelmanager.cpp
@@ -416,8 +416,7 @@ void CppModelManager::showPreprocessedFile(bool inNextSplit)
}
const Project * const project = ProjectTree::currentProject();
- if (!project || !project->activeTarget()
- || !project->activeTarget()->activeBuildConfiguration()) {
+ if (!project || !project->activeBuildConfiguration()) {
showFallbackWarning(Tr::tr("Could not determine which compiler to invoke."));
useBuiltinPreprocessor();
return;
@@ -426,9 +425,9 @@ void CppModelManager::showPreprocessedFile(bool inNextSplit)
const Toolchain * tc = nullptr;
const ProjectFile classifier(filePath, ProjectFile::classify(filePath.toUrlishString()));
if (classifier.isC()) {
- tc = ToolchainKitAspect::cToolchain(project->activeTarget()->kit());
+ tc = ToolchainKitAspect::cToolchain(project->activeKit());
} else if (classifier.isCxx() || classifier.isHeader()) {
- tc = ToolchainKitAspect::cxxToolchain(project->activeTarget()->kit());
+ tc = ToolchainKitAspect::cxxToolchain(project->activeKit());
} else {
showFallbackWarning(Tr::tr("Could not determine which compiler to invoke."));
useBuiltinPreprocessor();
@@ -468,7 +467,7 @@ void CppModelManager::showPreprocessedFile(bool inNextSplit)
const CommandLine compilerCommandLine(tc->compilerCommand(), compilerArgs);
const auto compiler = new Process(instance());
compiler->setCommand(compilerCommandLine);
- compiler->setEnvironment(project->activeTarget()->activeBuildConfiguration()->environment());
+ compiler->setEnvironment(project->activeBuildConfiguration()->environment());
connect(compiler, &Process::done, instance(), [compiler, outFilePath, inNextSplit,
useBuiltinPreprocessor, isMsvc] {
compiler->deleteLater();
diff --git a/src/plugins/debugger/unstartedappwatcherdialog.cpp b/src/plugins/debugger/unstartedappwatcherdialog.cpp
index ff8482b9daa..3509ab2e02b 100644
--- a/src/plugins/debugger/unstartedappwatcherdialog.cpp
+++ b/src/plugins/debugger/unstartedappwatcherdialog.cpp
@@ -82,8 +82,7 @@ UnstartedAppWatcherDialog::UnstartedAppWatcherDialog(std::optional<QPoint> pos,
m_kitChooser->setVisible(true);
Project *project = ProjectTree::currentProject();
- Target *activeTarget = project ? project->activeTarget() : nullptr;
- Kit *kit = activeTarget ? activeTarget->kit() : nullptr;
+ Kit *kit = project ? project->activeKit() : nullptr;
if (kit)
m_kitChooser->setCurrentKitId(kit->id());
@@ -100,15 +99,13 @@ UnstartedAppWatcherDialog::UnstartedAppWatcherDialog(std::optional<QPoint> pos,
resetExecutable->setEnabled(false);
pathLayout->addWidget(m_pathChooser);
pathLayout->addWidget(resetExecutable);
- if (activeTarget) {
- if (RunConfiguration *runConfig = activeTarget->activeRunConfiguration()) {
- const ProcessRunData runnable = runConfig->runnable();
- if (isLocal(runConfig)) {
- resetExecutable->setEnabled(true);
- connect(resetExecutable, &QPushButton::clicked, this, [this, runnable] {
- m_pathChooser->setFilePath(runnable.command.executable());
- });
- }
+ if (RunConfiguration *runConfig = project->activeRunConfiguration()) {
+ const ProcessRunData runnable = runConfig->runnable();
+ if (isLocal(runConfig)) {
+ resetExecutable->setEnabled(true);
+ connect(resetExecutable, &QPushButton::clicked, this, [this, runnable] {
+ m_pathChooser->setFilePath(runnable.command.executable());
+ });
}
}
@@ -179,10 +176,8 @@ void UnstartedAppWatcherDialog::selectExecutable()
Utils::FilePath path;
Project *project = ProjectTree::currentProject();
- Target *activeTarget = project ? project->activeTarget() : nullptr;
-
- if (activeTarget) {
- if (RunConfiguration *runConfig = activeTarget->activeRunConfiguration()) {
+ if (project) {
+ if (RunConfiguration *runConfig = project->activeRunConfiguration()) {
const ProcessRunData runnable = runConfig->runnable();
if (isLocal(runConfig))
path = runnable.command.executable().parentDir();
@@ -190,8 +185,8 @@ void UnstartedAppWatcherDialog::selectExecutable()
}
if (path.isEmpty()) {
- if (activeTarget && activeTarget->activeBuildConfiguration())
- path = activeTarget->activeBuildConfiguration()->buildDirectory();
+ if (project && project->activeBuildConfiguration())
+ path = project->activeBuildConfiguration()->buildDirectory();
else if (project)
path = project->projectDirectory();
}
diff --git a/src/plugins/designer/codemodelhelpers.cpp b/src/plugins/designer/codemodelhelpers.cpp
index f58c3f65fb7..7510d729af6 100644
--- a/src/plugins/designer/codemodelhelpers.cpp
+++ b/src/plugins/designer/codemodelhelpers.cpp
@@ -31,12 +31,10 @@ static const char setupUiC[] = "setupUi";
static FilePath generatedHeaderOf(const FilePath &uiFileName)
{
if (const Project *uiProject = ProjectManager::projectForFile(uiFileName)) {
- if (Target *t = uiProject->activeTarget()) {
- if (BuildSystem *bs = t->buildSystem()) {
- FilePaths files = bs->filesGeneratedFrom(uiFileName);
- if (!files.isEmpty()) // There should be at most one header generated from a .ui
- return files.front();
- }
+ if (BuildSystem *bs = uiProject->activeBuildSystem()) {
+ FilePaths files = bs->filesGeneratedFrom(uiFileName);
+ if (!files.isEmpty()) // There should be at most one header generated from a .ui
+ return files.front();
}
}
return {};
diff --git a/src/plugins/designer/qtcreatorintegration.cpp b/src/plugins/designer/qtcreatorintegration.cpp
index 1c28dd415f9..d122ca60265 100644
--- a/src/plugins/designer/qtcreatorintegration.cpp
+++ b/src/plugins/designer/qtcreatorintegration.cpp
@@ -94,11 +94,9 @@ static void reportRenamingError(const QString &oldName, const QString &reason)
static std::optional<QVersionNumber> qtVersionFromProject(const Project *project)
{
- if (const auto *target = project->activeTarget()) {
- if (const auto *kit = target->kit(); kit->isValid()) {
- if (const auto *qtVersion = QtSupport::QtKitAspect::qtVersion(kit))
- return qtVersion->qtVersion();
- }
+ if (const auto *kit = project->activeKit(); kit->isValid()) {
+ if (const auto *qtVersion = QtSupport::QtKitAspect::qtVersion(kit))
+ return qtVersion->qtVersion();
}
return std::nullopt;
}
@@ -716,10 +714,7 @@ void QtCreatorIntegration::handleSymbolRenameStage1(
return reportRenamingError(oldName, Designer::Tr::tr("File \"%1\" not found in project.")
.arg(uiFile.toUserOutput()));
}
- const Target * const target = project->activeTarget();
- if (!target)
- return reportRenamingError(oldName, Designer::Tr::tr("No active target."));
- BuildSystem * const buildSystem = target->buildSystem();
+ BuildSystem * const buildSystem = project->activeBuildSystem();
if (!buildSystem)
return reportRenamingError(oldName, Designer::Tr::tr("No active build system."));
ExtraCompiler * const ec = buildSystem->extraCompilerForSource(uiFile);
diff --git a/src/plugins/effectcomposer/effectcomposermodel.cpp b/src/plugins/effectcomposer/effectcomposermodel.cpp
index ad9457dc295..9f7d70f9d3f 100644
--- a/src/plugins/effectcomposer/effectcomposermodel.cpp
+++ b/src/plugins/effectcomposer/effectcomposermodel.cpp
@@ -2128,8 +2128,8 @@ void EffectComposerModel::bakeShaders()
resetEffectError(ErrorQMLParsing);
resetEffectError(ErrorPreprocessor);
- const ProjectExplorer::Target *target = ProjectExplorer::ProjectTree::currentTarget();
- if (!target) {
+ const ProjectExplorer::Kit *kit = ProjectExplorer::ProjectTree::currentKit();
+ if (!kit) {
setEffectError(failMessage.arg("Target not found"));
return;
}
@@ -2151,7 +2151,7 @@ void EffectComposerModel::bakeShaders()
QString fs = m_fragmentShader;
writeToFile(fs.toUtf8(), m_fragmentSourceFilename, FileType::Text);
- QtSupport::QtVersion *qtVer = QtSupport::QtKitAspect::qtVersion(target->kit());
+ QtSupport::QtVersion *qtVer = QtSupport::QtKitAspect::qtVersion(kit);
if (!qtVer) {
setEffectError(failMessage.arg("Qt version not found"));
return;
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp
index 3a0d1094af6..91c33569a0f 100644
--- a/src/plugins/genericprojectmanager/genericproject.cpp
+++ b/src/plugins/genericprojectmanager/genericproject.cpp
@@ -666,8 +666,8 @@ Project::RestoreResult GenericProject::fromMap(const Store &map, QString *errorM
t->addRunConfiguration(new CustomExecutableRunConfiguration(t));
}
- if (Target *t = activeTarget())
- static_cast<GenericBuildSystem *>(t->buildSystem())->refresh(Everything);
+ if (auto bs = activeBuildSystem())
+ static_cast<GenericBuildSystem *>(bs)->refresh(Everything);
return RestoreResult::Ok;
}
@@ -700,8 +700,8 @@ Result GenericProjectFile::reload(IDocument::ReloadFlag flag, IDocument::ChangeT
{
Q_UNUSED(flag)
Q_UNUSED(type)
- if (Target *t = m_project->activeTarget())
- static_cast<GenericBuildSystem *>(t->buildSystem())->refresh(m_options);
+ if (auto bs = m_project->activeBuildSystem())
+ static_cast<GenericBuildSystem *>(bs)->refresh(m_options);
return Result::Ok;
}
@@ -712,17 +712,15 @@ void GenericProject::editFilesTriggered()
files(Project::AllFiles),
ICore::dialogParent());
if (sfd.exec() == QDialog::Accepted) {
- if (Target *t = activeTarget()) {
- auto bs = static_cast<GenericBuildSystem *>(t->buildSystem());
+ if (auto bs = static_cast<GenericBuildSystem *>(activeBuildSystem()))
bs->setFiles(transform(sfd.selectedFiles(), &FilePath::toUrlishString));
- }
}
}
void GenericProject::removeFilesTriggered(const FilePaths &filesToRemove)
{
- if (Target *t = activeTarget())
- static_cast<GenericBuildSystem *>(t->buildSystem())->removeFiles(filesToRemove);
+ if (const auto bs = activeBuildSystem())
+ static_cast<GenericBuildSystem *>(bs)->removeFiles(filesToRemove);
}
void setupGenericProject(QObject *guard)
diff --git a/src/plugins/insight/insightmodel.cpp b/src/plugins/insight/insightmodel.cpp
index fb0fbb1e047..ae2618c9348 100644
--- a/src/plugins/insight/insightmodel.cpp
+++ b/src/plugins/insight/insightmodel.cpp
@@ -652,9 +652,9 @@ void InsightModel::parseMainQml()
void InsightModel::parseDefaultConfig()
{
// Load default insight config from plugin
- const ProjectExplorer::Target *target = ProjectExplorer::ProjectTree::currentTarget();
- if (target) {
- const QtSupport::QtVersion *qtVersion = QtSupport::QtKitAspect::qtVersion(target->kit());
+ const ProjectExplorer::Kit *kit = ProjectExplorer::ProjectTree::currentKit();
+ if (kit) {
+ const QtSupport::QtVersion *qtVersion = QtSupport::QtKitAspect::qtVersion(kit);
if (qtVersion) {
m_defaultConfig = readJSON(qtVersion->dataPath().toUrlishString() + "/" + dataFolder + "/"
diff --git a/src/plugins/lua/bindings/project.cpp b/src/plugins/lua/bindings/project.cpp
index 57c311ad04a..64b0b5abb1e 100644
--- a/src/plugins/lua/bindings/project.cpp
+++ b/src/plugins/lua/bindings/project.cpp
@@ -53,7 +53,7 @@ void setupProjectModule()
"directory",
sol::property(&Project::projectDirectory),
"activeRunConfiguration",
- [](Project *project) { return project->activeTarget()->activeRunConfiguration(); });
+ [](Project *project) { return project->activeRunConfiguration(); });
result["startupProject"] = [] { return ProjectManager::instance()->startupProject(); };
@@ -72,7 +72,7 @@ void setupProjectModule()
if (!project)
throw sol::error("No startup project");
- auto runConfiguration = project->activeTarget()->activeRunConfiguration();
+ auto runConfiguration = project->activeRunConfiguration();
if (!runConfiguration)
throw sol::error("No active run configuration");
diff --git a/src/plugins/mcusupport/mcusupportplugin.cpp b/src/plugins/mcusupport/mcusupportplugin.cpp
index 938dcb233a4..24d98ed2ca1 100644
--- a/src/plugins/mcusupport/mcusupportplugin.cpp
+++ b/src/plugins/mcusupport/mcusupportplugin.cpp
@@ -67,9 +67,8 @@ void updateMCUProjectTree(ProjectExplorer::Project *p)
{
if (!p || !p->rootProjectNode())
return;
- ProjectExplorer::Target *target = p->activeTarget();
- if (!target || !target->kit()
- || !target->kit()->hasValue(Constants::KIT_MCUTARGET_KITVERSION_KEY))
+ ProjectExplorer::Kit *kit = p->activeKit();
+ if (!kit || !kit->hasValue(Constants::KIT_MCUTARGET_KITVERSION_KEY))
return;
p->rootProjectNode()->forEachProjectNode([](const ProjectNode *node) {
diff --git a/src/plugins/mesonprojectmanager/mesonprojectnodes.cpp b/src/plugins/mesonprojectmanager/mesonprojectnodes.cpp
index 66cb57721a2..eedd7125cc8 100644
--- a/src/plugins/mesonprojectmanager/mesonprojectnodes.cpp
+++ b/src/plugins/mesonprojectmanager/mesonprojectnodes.cpp
@@ -40,9 +40,8 @@ MesonTargetNode::MesonTargetNode(const FilePath &directory, const QString &name,
void MesonTargetNode::build()
{
Project *p = getProject();
- ProjectExplorer::Target *t = p ? p->activeTarget() : nullptr;
- if (t)
- static_cast<MesonBuildConfiguration *>(t->buildSystem()->buildConfiguration())->build(m_name);
+ if (const auto bc = p ? p->activeBuildConfiguration() : nullptr)
+ static_cast<MesonBuildConfiguration *>(bc)->build(m_name);
}
QString MesonTargetNode::tooltip() const
diff --git a/src/plugins/perfprofiler/perfprofilertool.cpp b/src/plugins/perfprofiler/perfprofilertool.cpp
index 46f7f8cf4dd..81f54ff31cf 100644
--- a/src/plugins/perfprofiler/perfprofilertool.cpp
+++ b/src/plugins/perfprofiler/perfprofilertool.cpp
@@ -597,8 +597,7 @@ void PerfProfilerTool::showLoadTraceDialog()
startLoading();
const Project *currentProject = ProjectManager::startupProject();
- const Target *target = currentProject ? currentProject->activeTarget() : nullptr;
- const Kit *kit = target ? target->kit() : nullptr;
+ const Kit *kit = currentProject ? currentProject->activeKit() : nullptr;
populateFileFinder(currentProject, kit);
traceManager().loadFromTraceFile(filePath);
diff --git a/src/plugins/projectexplorer/extracompiler.cpp b/src/plugins/projectexplorer/extracompiler.cpp
index 54cdf3b8a03..25f9301969f 100644
--- a/src/plugins/projectexplorer/extracompiler.cpp
+++ b/src/plugins/projectexplorer/extracompiler.cpp
@@ -270,14 +270,10 @@ void ExtraCompiler::onEditorAboutToClose(IEditor *editor)
Environment ExtraCompiler::buildEnvironment() const
{
- Target *target = project()->activeTarget();
- if (!target)
- return Environment::systemEnvironment();
-
- if (BuildConfiguration *bc = target->activeBuildConfiguration())
+ if (BuildConfiguration *bc = project()->activeBuildConfiguration())
return bc->environment();
- const EnvironmentItems changes = EnvironmentKitAspect::buildEnvChanges(target->kit());
+ const EnvironmentItems changes = EnvironmentKitAspect::buildEnvChanges(project()->activeKit());
Environment env = Environment::systemEnvironment();
env.modify(changes);
return env;
diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp
index b4e5cdee4c3..18979ec8ab7 100644
--- a/src/plugins/projectexplorer/project.cpp
+++ b/src/plugins/projectexplorer/project.cpp
@@ -445,6 +445,31 @@ void Project::setActiveTarget(Target *target, SetActive cascade)
}
}
+Kit *Project::activeKit() const
+{
+ return activeTarget() ? activeTarget()->kit() : nullptr;
+}
+
+RunConfiguration *Project::activeRunConfiguration() const
+{
+ return activeTarget() ? activeTarget()->activeRunConfiguration() : nullptr;
+}
+
+BuildConfiguration *Project::activeBuildConfiguration() const
+{
+ return activeTarget() ? activeTarget()->activeBuildConfiguration() : nullptr;
+}
+
+DeployConfiguration *Project::activeDeployConfiguration() const
+{
+ return activeTarget() ? activeTarget()->activeDeployConfiguration() : nullptr;
+}
+
+BuildSystem *Project::activeBuildSystem() const
+{
+ return activeTarget() ? activeTarget()->buildSystem() : nullptr;
+}
+
QList<Store> Project::vanishedTargets() const
{
return d->m_vanishedTargets;
@@ -1206,10 +1231,8 @@ const QList<QPair<Id, QString>> Project::allGenerators() const
QList<QPair<Id, QString>> generators;
for (auto it = d->m_generators.cbegin(); it != d->m_generators.cend(); ++it)
generators << qMakePair(it.key(), it.value().first);
- if (const Target * const t = activeTarget()) {
- if (const BuildSystem * const bs = t->buildSystem())
- generators += bs->generators();
- }
+ if (const BuildSystem * const bs = activeBuildSystem())
+ generators += bs->generators();
return generators;
}
@@ -1220,10 +1243,8 @@ void Project::runGenerator(Utils::Id id)
it.value().second();
return;
}
- if (const Target * const t = activeTarget()) {
- if (BuildSystem * const bs = t->buildSystem())
- bs->runGenerator(id);
- }
+ if (BuildSystem * const bs = activeBuildSystem())
+ bs->runGenerator(id);
}
void Project::addVariablesToMacroExpander(const QByteArray &prefix,
@@ -1231,19 +1252,19 @@ void Project::addVariablesToMacroExpander(const QByteArray &prefix,
MacroExpander *expander,
const std::function<Project *()> &projectGetter)
{
- const auto targetGetter = [projectGetter]() -> Target * {
- if (const Project *const project = projectGetter())
- return project->activeTarget();
+ const auto kitGetter = [projectGetter]() -> Kit * {
+ if (const Project * const project = projectGetter())
+ return project->activeKit();
return nullptr;
};
- const auto bcGetter = [targetGetter]() -> BuildConfiguration * {
- if (const Target *const target = targetGetter())
- return target->activeBuildConfiguration();
+ const auto bcGetter = [projectGetter]() -> BuildConfiguration * {
+ if (const Project * const project = projectGetter())
+ return project->activeBuildConfiguration();
return nullptr;
};
- const auto rcGetter = [targetGetter]() -> RunConfiguration * {
- if (const Target *const target = targetGetter())
- return target->activeRunConfiguration();
+ const auto rcGetter = [projectGetter]() -> RunConfiguration * {
+ if (const Project * const project = projectGetter())
+ return project->activeRunConfiguration();
return nullptr;
};
const QByteArray fullPrefix = (prefix.endsWith(':') ? prefix : prefix + ':');
@@ -1275,9 +1296,9 @@ void Project::addVariablesToMacroExpander(const QByteArray &prefix,
expander->registerVariable(fullPrefix + "Kit:Name",
//: %1 is something like "Active project"
::PE::Tr::tr("%1: The name of the active kit.").arg(descriptor),
- [targetGetter]() -> QString {
- if (const Target *const target = targetGetter())
- return target->kit()->displayName();
+ [kitGetter]() -> QString {
+ if (const Kit *const kit = kitGetter())
+ return kit->displayName();
return {};
});
expander->registerVariable(fullPrefix + "BuildConfig:Name",
@@ -1593,7 +1614,7 @@ void ProjectExplorerTest::testProject_multipleBuildConfigs()
QVERIFY(target);
QCOMPARE(target->buildConfigurations().size(), 6);
target->setActiveBuildConfiguration(target->buildConfigurations().at(1), SetActive::Cascade);
- BuildSystem * const bs = theProject.project()->activeTarget()->buildSystem();
+ BuildSystem * const bs = theProject.project()->activeBuildSystem();
QVERIFY(bs);
QCOMPARE(bs, target->activeBuildConfiguration()->buildSystem());
if (bs->isWaitingForParse() || bs->isParsing()) {
@@ -1661,11 +1682,9 @@ void ProjectExplorerTest::testSourceToBinaryMapping()
QVERIFY2(theProject, qPrintable(theProject.errorMessage()));
theProject.project()->configureAsExampleProject(kit);
QCOMPARE(theProject.project()->targets().size(), 1);
- Target * const target = theProject.project()->activeTarget();
- QVERIFY(target);
- BuildSystem * const bs = target->buildSystem();
+ BuildSystem * const bs = theProject.project()->activeBuildSystem();
QVERIFY(bs);
- QCOMPARE(bs, target->activeBuildConfiguration()->buildSystem());
+ QCOMPARE(bs, theProject.project()->activeBuildConfiguration()->buildSystem());
if (bs->isWaitingForParse() || bs->isParsing()) {
QSignalSpy parsingFinishedSpy(bs, &BuildSystem::parsingFinished);
QVERIFY(parsingFinishedSpy.wait(10000));
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index 9c60aa3ed6c..e9976ed7cf2 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -31,12 +31,14 @@ class BuildConfiguration;
class BuildInfo;
class BuildSystem;
class ContainerNode;
+class DeployConfiguration;
class EditorConfiguration;
class FolderNode;
class Node;
class ProjectImporter;
class ProjectNode;
class ProjectPrivate;
+class RunConfiguration;
class Target;
enum class SetActive : int;
@@ -93,6 +95,12 @@ public:
Target *target(Kit *k) const;
void setActiveTarget(Target *target, SetActive cascade);
+ Kit *activeKit() const;
+ RunConfiguration *activeRunConfiguration() const;
+ BuildConfiguration *activeBuildConfiguration() const;
+ DeployConfiguration *activeDeployConfiguration() const;
+ BuildSystem *activeBuildSystem() const;
+
virtual Tasks projectIssues(const Kit *k) const;
static bool copySteps(Target *sourceTarget, Target *newTarget);
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 9d3c8c4ed3a..da5c4b6de53 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -283,9 +283,9 @@ static std::optional<Environment> sysEnv(const Project *)
static std::optional<Environment> buildEnv(const Project *project)
{
- if (!project || !project->activeTarget() || !project->activeTarget()->activeBuildConfiguration())
+ if (!project || !project->activeBuildConfiguration())
return {};
- return project->activeTarget()->activeBuildConfiguration()->environment();
+ return project->activeBuildConfiguration()->environment();
}
static const RunConfiguration *runConfigForNode(const Target *target, const ProjectNode *node)
@@ -323,33 +323,26 @@ static bool canOpenTerminalWithRunEnv(const Project *project, const ProjectNode
IDevice::ConstPtr device
= DeviceManager::deviceForPath(runConfig->runnable().command.executable());
if (!device)
- device = RunDeviceKitAspect::device(target->kit());
+ device = RunDeviceKitAspect::device(project->activeKit());
return device && device->canOpenTerminal();
}
static BuildConfiguration *currentBuildConfiguration()
{
const Project * const project = ProjectTree::currentProject();
- const Target * const target = project ? project->activeTarget() : nullptr;
- return target ? target->activeBuildConfiguration() : nullptr;
-}
-
-static Target *activeTarget()
-{
- const Project * const project = ProjectManager::startupProject();
- return project ? project->activeTarget() : nullptr;
+ return project ? project->activeBuildConfiguration() : nullptr;
}
static BuildConfiguration *activeBuildConfiguration()
{
- const Target * const target = activeTarget();
- return target ? target->activeBuildConfiguration() : nullptr;
+ const Project * const project = ProjectManager::startupProject();
+ return project ? project->activeBuildConfiguration() : nullptr;
}
static RunConfiguration *activeRunConfiguration()
{
- const Target * const target = activeTarget();
- return target ? target->activeRunConfiguration() : nullptr;
+ const Project * const project = ProjectManager::startupProject();
+ return project ? project->activeRunConfiguration() : nullptr;
}
static bool isTextFile(const FilePath &filePath)
@@ -1741,9 +1734,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
connect(dd->m_buildForRunConfigAction, &QAction::triggered, dd, [] {
const Project * const project = ProjectManager::startupProject();
QTC_ASSERT(project, return);
- const Target * const target = project->activeTarget();
- QTC_ASSERT(target, return);
- const RunConfiguration * const runConfig = target->activeRunConfiguration();
+ const RunConfiguration * const runConfig = project->activeRunConfiguration();
QTC_ASSERT(runConfig, return);
ProjectNode * const productNode = runConfig->productNode();
QTC_ASSERT(productNode, return);
@@ -1928,8 +1919,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
EnvironmentProvider::addProvider(
{"CurrentDocument:Project:RunConfig:Env", Tr::tr("Current Run Environment"), [] {
const Project *const project = ProjectTree::currentProject();
- const Target *const target = project ? project->activeTarget() : nullptr;
- const RunConfiguration *const rc = target ? target->activeRunConfiguration() : nullptr;
+ const RunConfiguration *const rc = project ? project->activeRunConfiguration() : nullptr;
if (rc) {
if (auto envAspect = rc->aspect<EnvironmentAspect>())
return envAspect->environment();
@@ -2704,8 +2694,7 @@ void ProjectExplorerPluginPrivate::updateActions()
? Icons::CANCELBUILD_FLAT.icon()
: buildAction->icon());
- const RunConfiguration * const runConfig = project && project->activeTarget()
- ? project->activeTarget()->activeRunConfiguration() : nullptr;
+ const RunConfiguration * const runConfig = project ? project->activeRunConfiguration() : nullptr;
// Normal actions
m_buildAction->setParameter(projectName);
@@ -2928,9 +2917,7 @@ void ProjectExplorerPluginPrivate::runProjectContextMenu(RunConfiguration *rc)
static bool hasBuildSettings(const Project *pro)
{
return Utils::anyOf(ProjectManager::projectOrder(pro), [](const Project *project) {
- return project
- && project->activeTarget()
- && project->activeTarget()->activeBuildConfiguration();
+ return project && project->activeBuildConfiguration();
});
}
@@ -2941,14 +2928,13 @@ static QPair<bool, QString> subprojectEnabledState(const Project *pro)
const QList<Project *> &projects = ProjectManager::projectOrder(pro);
for (const Project *project : projects) {
- if (project && project->activeTarget()
- && project->activeTarget()->activeBuildConfiguration()
- && !project->activeTarget()->activeBuildConfiguration()->isEnabled()) {
+ if (project && project->activeBuildConfiguration()
+ && !project->activeBuildConfiguration()->isEnabled()) {
result.first = false;
result.second
+= Tr::tr("Building \"%1\" is disabled: %2<br>")
.arg(project->displayName(),
- project->activeTarget()->activeBuildConfiguration()->disabledReason());
+ project->activeBuildConfiguration()->disabledReason());
}
}
@@ -3040,8 +3026,7 @@ void ProjectExplorerPlugin::handleCommandLineArguments(const QStringList &argume
static bool hasDeploySettings(Project *pro)
{
return Utils::anyOf(ProjectManager::projectOrder(pro), [](Project *project) {
- return project->activeTarget()
- && project->activeTarget()->activeDeployConfiguration();
+ return project->activeDeployConfiguration();
});
}
@@ -3050,9 +3035,8 @@ void ProjectExplorerPlugin::runProject(Project *pro, Id mode, const bool forceSk
if (!pro)
return;
- if (Target *target = pro->activeTarget())
- if (RunConfiguration *rc = target->activeRunConfiguration())
- runRunConfiguration(rc, mode, forceSkipDeploy);
+ if (RunConfiguration *rc = pro->activeRunConfiguration())
+ runRunConfiguration(rc, mode, forceSkipDeploy);
}
void ProjectExplorerPlugin::runStartupProject(Id runMode, bool forceSkipDeploy)
@@ -3153,9 +3137,8 @@ void ProjectExplorerPluginPrivate::updateDeployActions()
bool enableDeploySessionAction = true;
if (projectExplorerSettings().buildBeforeDeploy != BuildBeforeRunMode::Off) {
auto hasDisabledBuildConfiguration = [](Project *project) {
- return project && project->activeTarget()
- && project->activeTarget()->activeBuildConfiguration()
- && !project->activeTarget()->activeBuildConfiguration()->isEnabled();
+ return project && project->activeBuildConfiguration()
+ && !project->activeBuildConfiguration()->isEnabled();
};
if (Utils::anyOf(ProjectManager::projectOrder(nullptr), hasDisabledBuildConfiguration))
@@ -3179,17 +3162,17 @@ Result ProjectExplorerPlugin::canRunStartupProject(Utils::Id runMode)
.arg(project->displayName()));
}
- Target *target = project->activeTarget();
- if (!target) {
+ Kit *kit = project->activeKit();
+ if (!kit) {
return Result::Error(Tr::tr("The project \"%1\" has no active kit.")
.arg(project->displayName()));
}
- RunConfiguration *activeRC = target->activeRunConfiguration();
+ RunConfiguration *activeRC = project->activeRunConfiguration();
if (!activeRC) {
return Result::Error(
Tr::tr("The kit \"%1\" for the project \"%2\" has no active run configuration.")
- .arg(target->displayName(), project->displayName()));
+ .arg(kit->displayName(), project->displayName()));
}
if (!activeRC->isEnabled(runMode))
@@ -3208,10 +3191,8 @@ Result ProjectExplorerPlugin::canRunStartupProject(Utils::Id runMode)
}
// shouldn't actually be shown to the user...
- if (!RunControl::canRun(runMode, RunDeviceTypeKitAspect::deviceTypeId(target->kit()),
- activeRC->id())) {
+ if (!RunControl::canRun(runMode, RunDeviceTypeKitAspect::deviceTypeId(kit), activeRC->id()))
return Result::Error(Tr::tr("Cannot run \"%1\".").arg(activeRC->displayName()));
- }
if (dd->m_delayedRunConfiguration && dd->m_delayedRunConfiguration->project() == project)
return Result::Error(Tr::tr("A run action is already scheduled for the active project."));
@@ -3414,10 +3395,11 @@ void ProjectExplorerPluginPrivate::updateContextMenuActions(Node *currentNode)
};
bool canEditProject = true;
- if (project && project->activeTarget()) {
- const BuildSystem * const bs = project->activeTarget()->buildSystem();
- if (bs->isParsing() || bs->isWaitingForParse())
+ if (project) {
+ if (const BuildSystem * const bs = project->activeBuildSystem();
+ bs && (bs->isParsing() || bs->isWaitingForParse())) {
canEditProject = false;
+ }
}
if (currentNode->asFolderNode()) {
// Also handles ProjectNode
@@ -3800,9 +3782,9 @@ void ProjectExplorerPluginPrivate::showInFileSystemPane()
static BuildConfiguration *activeBuildConfiguration(Project *project)
{
- if (!project || !project->activeTarget() || !project->activeTarget()->activeBuildConfiguration())
+ if (!project || !project->activeBuildConfiguration())
return {};
- return project->activeTarget()->activeBuildConfiguration();
+ return project->activeBuildConfiguration();
}
void ProjectExplorerPluginPrivate::openTerminalHere(const EnvironmentGetter &env)
diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp
index 8ebce2c9c2b..70c6cf8c09b 100644
--- a/src/plugins/projectexplorer/projectmodels.cpp
+++ b/src/plugins/projectexplorer/projectmodels.cpp
@@ -196,8 +196,7 @@ QVariant FlatModel::data(const QModelIndex &index, int role) const
const FileNode * const fileNode = node->asFileNode();
const ContainerNode * const containerNode = node->asContainerNode();
const Project * const project = containerNode ? containerNode->project() : nullptr;
- const Target * const target = project ? project->activeTarget() : nullptr;
- const BuildSystem * const bs = target ? target->buildSystem() : nullptr;
+ const BuildSystem * const bs = project ? project->activeBuildSystem() : nullptr;
switch (role) {
case Qt::DisplayRole:
@@ -207,8 +206,8 @@ QVariant FlatModel::data(const QModelIndex &index, int role) const
case Qt::ToolTipRole: {
QString tooltip = node->tooltip();
if (project) {
- if (target) {
- QString projectIssues = toHtml(project->projectIssues(project->activeTarget()->kit()));
+ if (project->activeKit()) {
+ QString projectIssues = toHtml(project->projectIssues(project->activeKit()));
if (!projectIssues.isEmpty())
tooltip += "<p>" + projectIssues;
} else {
@@ -234,7 +233,7 @@ QVariant FlatModel::data(const QModelIndex &index, int role) const
return warnIcon;
if (bs && bs->isParsing())
return emptyIcon;
- if (!target || !project->projectIssues(target->kit()).isEmpty())
+ if (!project->activeKit() || !project->projectIssues(project->activeKit()).isEmpty())
return warnIcon;
return containerNode->rootProjectNode() ? containerNode->rootProjectNode()->icon()
: folderNode->icon();
diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp
index 03c7d33edc5..70169cf3270 100644
--- a/src/plugins/projectexplorer/projectnodes.cpp
+++ b/src/plugins/projectexplorer/projectnodes.cpp
@@ -1040,8 +1040,7 @@ void ProjectNode::setFallbackData(Utils::Id key, const QVariant &value)
BuildSystem *ProjectNode::buildSystem() const
{
Project *p = getProject();
- Target *t = p ? p->activeTarget() : nullptr;
- return t ? t->buildSystem() : nullptr;
+ return p ? p->activeBuildSystem() : nullptr;
}
bool FolderNode::isEmpty() const
diff --git a/src/plugins/projectexplorer/projecttree.cpp b/src/plugins/projectexplorer/projecttree.cpp
index a1fc0d0dc05..907602ee2aa 100644
--- a/src/plugins/projectexplorer/projecttree.cpp
+++ b/src/plugins/projectexplorer/projecttree.cpp
@@ -89,16 +89,16 @@ Project *ProjectTree::currentProject()
return s_instance->m_currentProject;
}
-Target *ProjectTree::currentTarget()
+Kit *ProjectTree::currentKit()
{
Project *p = currentProject();
- return p ? p->activeTarget() : nullptr;
+ return p ? p->activeKit() : nullptr;
}
BuildSystem *ProjectTree::currentBuildSystem()
{
- Target *t = currentTarget();
- return t ? t->buildSystem() : nullptr;
+ Project *p = currentProject();
+ return p ? p->activeBuildSystem() : nullptr;
}
Node *ProjectTree::currentNode()
diff --git a/src/plugins/projectexplorer/projecttree.h b/src/plugins/projectexplorer/projecttree.h
index aea413f7bb4..4c9a1755f0e 100644
--- a/src/plugins/projectexplorer/projecttree.h
+++ b/src/plugins/projectexplorer/projecttree.h
@@ -16,11 +16,11 @@ namespace ProjectExplorer {
class BuildSystem;
class FileNode;
class FolderNode;
+class Kit;
class Node;
class Project;
class ProjectNode;
class SessionNode;
-class Target;
namespace Internal { class ProjectTreeWidget; }
@@ -34,7 +34,7 @@ public:
static ProjectTree *instance();
static Project *currentProject();
- static Target *currentTarget();
+ static Kit *currentKit();
static BuildSystem *currentBuildSystem();
static Node *currentNode();
static Utils::FilePath currentFilePath();
diff --git a/src/plugins/projectexplorer/rawprojectpart.cpp b/src/plugins/projectexplorer/rawprojectpart.cpp
index 0825b6b6914..c02fbdb7b44 100644
--- a/src/plugins/projectexplorer/rawprojectpart.cpp
+++ b/src/plugins/projectexplorer/rawprojectpart.cpp
@@ -201,8 +201,8 @@ ProjectUpdateInfo::ProjectUpdateInfo(Project *project,
if (project) {
projectName = project->displayName();
projectFilePath = project->projectFilePath();
- if (project->activeTarget() && project->activeTarget()->activeBuildConfiguration())
- buildRoot = project->activeTarget()->activeBuildConfiguration()->buildDirectory();
+ if (project->activeBuildConfiguration())
+ buildRoot = project->activeBuildConfiguration()->buildDirectory();
}
}
diff --git a/src/plugins/projectexplorer/workspaceproject.cpp b/src/plugins/projectexplorer/workspaceproject.cpp
index 56872416298..c64d37cc719 100644
--- a/src/plugins/projectexplorer/workspaceproject.cpp
+++ b/src/plugins/projectexplorer/workspaceproject.cpp
@@ -722,10 +722,8 @@ void setupWorkspaceProject(QObject *guard)
QTC_ASSERT(node, return);
const auto project = qobject_cast<WorkspaceProject *>(node->getProject());
QTC_ASSERT(project, return);
- if (auto target = project->activeTarget()) {
- if (auto buildSystem = dynamic_cast<WorkspaceBuildSystem *>(target->buildSystem()))
- buildSystem->reparse(true);
- }
+ if (auto buildSystem = dynamic_cast<WorkspaceBuildSystem *>(project->activeBuildSystem()))
+ buildSystem->reparse(true);
});
QObject::connect(
@@ -740,10 +738,8 @@ void setupWorkspaceProject(QObject *guard)
excludeAction->setEnabled(node->isEnabled());
bool enableRescan = false;
if (Project *project = node->getProject()) {
- if (Target *target = project->activeTarget()) {
- if (BuildSystem *buildSystem = target->buildSystem())
- enableRescan = !buildSystem->isParsing();
- }
+ if (BuildSystem *buildSystem = project->activeBuildSystem())
+ enableRescan = !buildSystem->isParsing();
}
rescanAction->setEnabled(enableRescan);
}
diff --git a/src/plugins/python/pyside.cpp b/src/plugins/python/pyside.cpp
index bdccde1f3fb..648cfa46dcc 100644
--- a/src/plugins/python/pyside.cpp
+++ b/src/plugins/python/pyside.cpp
@@ -217,10 +217,7 @@ void PySideInstaller::handleDocumentOpened(Core::IDocument *document)
PythonProject *project = pythonProjectForFile(textDocument->filePath());
if (!project)
return;
- Target *target = project->activeTarget();
- if (!target)
- return;
- BuildConfiguration *buildConfig = target->activeBuildConfiguration();
+ BuildConfiguration *buildConfig = project->activeBuildConfiguration();
if (!buildConfig)
return;
auto *pythonBuildConfig = qobject_cast<PythonBuildConfiguration *>(buildConfig);
diff --git a/src/plugins/python/pythoneditor.cpp b/src/plugins/python/pythoneditor.cpp
index 5854b92d3de..49f59483ab5 100644
--- a/src/plugins/python/pythoneditor.cpp
+++ b/src/plugins/python/pythoneditor.cpp
@@ -163,8 +163,7 @@ void PythonEditorWidget::updateInterpretersSelector()
const QString name = buildConfiguration->displayName();
QAction *action = interpretersGroup->addAction(buildConfiguration->displayName());
action->setCheckable(true);
- if (target == project->activeTarget()
- && target->activeBuildConfiguration() == buildConfiguration) {
+ if (project->activeBuildConfiguration() == buildConfiguration) {
action->setChecked(true);
setButtonText(name);
if (auto pbc = qobject_cast<PythonBuildConfiguration *>(buildConfiguration))
diff --git a/src/plugins/python/pythonlanguageclient.cpp b/src/plugins/python/pythonlanguageclient.cpp
index 9678dcbdf40..3f8c1b94bd3 100644
--- a/src/plugins/python/pythonlanguageclient.cpp
+++ b/src/plugins/python/pythonlanguageclient.cpp
@@ -199,13 +199,11 @@ void PyLSClient::openDocument(TextEditor::TextDocument *document)
if (reachable()) {
const FilePath documentPath = document->filePath();
if (PythonProject *project = pythonProjectForFile(documentPath)) {
- if (Target *target = project->activeTarget()) {
- if (BuildConfiguration *buildConfig = target->activeBuildConfiguration()) {
- if (BuildStepList *buildSteps = buildConfig->buildSteps()) {
- BuildStep *buildStep = buildSteps->firstStepWithId(PySideBuildStep::id());
- if (auto *pythonBuildStep = qobject_cast<PySideBuildStep *>(buildStep))
- updateExtraCompilers(project, pythonBuildStep->extraCompilers());
- }
+ if (BuildConfiguration *buildConfig = project->activeBuildConfiguration()) {
+ if (BuildStepList *buildSteps = buildConfig->buildSteps()) {
+ BuildStep *buildStep = buildSteps->firstStepWithId(PySideBuildStep::id());
+ if (auto *pythonBuildStep = qobject_cast<PySideBuildStep *>(buildStep))
+ updateExtraCompilers(project, pythonBuildStep->extraCompilers());
}
}
} else if (isSupportedDocument(document)) {
diff --git a/src/plugins/python/pythonutils.cpp b/src/plugins/python/pythonutils.cpp
index b2648fc7306..3cec49a2cd5 100644
--- a/src/plugins/python/pythonutils.cpp
+++ b/src/plugins/python/pythonutils.cpp
@@ -45,12 +45,10 @@ FilePath detectPython(const FilePath &documentPath)
FilePaths dirs = Environment::systemEnvironment().path();
if (project && project->mimeType() == Constants::C_PY_PROJECT_MIME_TYPE) {
- if (const Target *target = project->activeTarget()) {
- if (auto bc = qobject_cast<PythonBuildConfiguration *>(target->activeBuildConfiguration()))
- return bc->python();
- if (const std::optional<Interpreter> python = PythonKitAspect::python(target->kit()))
- return python->command;
- }
+ if (auto bc = qobject_cast<PythonBuildConfiguration *>(project->activeBuildConfiguration()))
+ return bc->python();
+ if (const std::optional<Interpreter> python = PythonKitAspect::python(project->activeKit()))
+ return python->command;
}
const FilePath userDefined = userDefinedPythonsForDocument().value(documentPath);
diff --git a/src/plugins/qbsprojectmanager/qbslanguageclient.cpp b/src/plugins/qbsprojectmanager/qbslanguageclient.cpp
index 4f2461f82b0..4d5db943f20 100644
--- a/src/plugins/qbsprojectmanager/qbslanguageclient.cpp
+++ b/src/plugins/qbsprojectmanager/qbslanguageclient.cpp
@@ -73,11 +73,11 @@ bool QbsLanguageClient::isActive() const
{
if (!d->buildSystem)
return false;
- if (!d->buildSystem->target()->activeBuildConfiguration())
+ if (!d->buildSystem->project()->activeBuildConfiguration())
return false;
- if (d->buildSystem->target()->activeBuildConfiguration()->buildSystem() != d->buildSystem)
+ if (d->buildSystem->project()->activeBuildConfiguration()->buildSystem() != d->buildSystem)
return false;
- if (d->buildSystem->project()->activeTarget() != d->buildSystem->target())
+ if (d->buildSystem->project()->activeBuildSystem() != d->buildSystem)
return false;
return true;
}
diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp
index 8a84ac53c4a..03457d050e3 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.cpp
+++ b/src/plugins/qbsprojectmanager/qbsproject.cpp
@@ -132,16 +132,16 @@ void QbsProject::configureAsExampleProject(Kit *kit)
}
}
setup(infoList);
- if (activeTarget())
- static_cast<QbsBuildSystem *>(activeTarget()->buildSystem())->prepareForParsing();
+ if (activeBuildSystem())
+ static_cast<QbsBuildSystem *>(activeBuildSystem())->prepareForParsing();
}
static bool supportsNodeAction(ProjectAction action, const Node *node)
{
const auto project = static_cast<QbsProject *>(node->getProject());
- Target *t = project ? project->activeTarget() : nullptr;
- QbsBuildSystem *bs = t ? static_cast<QbsBuildSystem *>(t->buildSystem()) : nullptr;
+ QbsBuildSystem *bs = project ? static_cast<QbsBuildSystem *>(project->activeBuildSystem())
+ : nullptr;
if (!bs)
return false;
if (!bs->isProjectEditable())
@@ -508,8 +508,7 @@ void QbsBuildSystem::updateProjectNodes(const std::function<void ()> &continuati
OpTimer("updateProjectNodes continuation");
m_treeCreationWatcher->deleteLater();
m_treeCreationWatcher = nullptr;
- if (target() != project()->activeTarget()
- || target()->activeBuildConfiguration()->buildSystem() != this) {
+ if (project()->activeBuildSystem() != this) {
return;
}
project()->setDisplayName(rootNode->displayName());
@@ -560,8 +559,7 @@ void QbsBuildSystem::handleQbsParsingDone(bool success)
bool dataChanged = false;
bool envChanged = m_lastParseEnv != m_qbsProjectParser->environment();
m_lastParseEnv = m_qbsProjectParser->environment();
- const bool isActiveBuildSystem = project()->activeTarget()
- && project()->activeTarget()->buildSystem() == this;
+ const bool isActiveBuildSystem = project()->activeBuildSystem() == this;
if (success) {
const QJsonObject projectData = m_qbsProjectParser->session()->projectData();
if (projectData != m_projectData) {
diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp b/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp
index 253f387413f..7071741dce1 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp
+++ b/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp
@@ -325,8 +325,8 @@ void QbsProjectManagerPlugin::updateContextActions(Node *node)
{
auto project = qobject_cast<Internal::QbsProject *>(ProjectTree::currentProject());
bool isEnabled = !BuildManager::isBuilding(project)
- && project && project->activeTarget()
- && !project->activeTarget()->buildSystem()->isParsing()
+ && project && project->activeBuildSystem()
+ && !project->activeBuildSystem()->isParsing()
&& node && node->isEnabled();
const bool isFile = project && node && node->asFileNode();
@@ -349,8 +349,8 @@ void QbsProjectManagerPlugin::updateReparseQbsAction()
auto project = qobject_cast<QbsProject *>(ProjectManager::startupProject());
m_reparseQbs->setEnabled(project
&& !BuildManager::isBuilding(project)
- && project && project->activeTarget()
- && !project->activeTarget()->buildSystem()->isParsing());
+ && project && project->activeBuildSystem()
+ && !project->activeBuildSystem()->isParsing());
}
void QbsProjectManagerPlugin::updateBuildActions()
@@ -380,8 +380,8 @@ void QbsProjectManagerPlugin::updateBuildActions()
if (QbsProject *editorProject = currentEditorProject()) {
enabled = !BuildManager::isBuilding(editorProject)
- && editorProject->activeTarget()
- && !editorProject->activeTarget()->buildSystem()->isParsing();
+ && editorProject->activeBuildSystem()
+ && !editorProject->activeBuildSystem()->isParsing();
fileVisible = productNode
|| dynamic_cast<QbsProjectNode *>(parentProjectNode)
|| dynamic_cast<QbsGroupNode *>(parentProjectNode);
@@ -536,10 +536,7 @@ void QbsProjectManagerPlugin::buildFiles(QbsProject *project, const QStringList
QTC_ASSERT(project, return);
QTC_ASSERT(!files.isEmpty(), return);
- Target *t = project->activeTarget();
- if (!t)
- return;
- auto bc = qobject_cast<QbsBuildConfiguration *>(t->activeBuildConfiguration());
+ auto bc = qobject_cast<QbsBuildConfiguration *>(project->activeBuildConfiguration());
if (!bc)
return;
@@ -568,10 +565,7 @@ void QbsProjectManagerPlugin::runStepsForProducts(QbsProject *project,
QTC_ASSERT(project, return);
QTC_ASSERT(!products.isEmpty(), return);
- Target *t = project->activeTarget();
- if (!t)
- return;
- auto bc = qobject_cast<QbsBuildConfiguration *>(t->activeBuildConfiguration());
+ auto bc = qobject_cast<QbsBuildConfiguration *>(project->activeBuildConfiguration());
if (!bc)
return;
@@ -608,11 +602,7 @@ void QbsProjectManagerPlugin::reparseProject(QbsProject *project)
if (!project)
return;
- Target *t = project->activeTarget();
- if (!t)
- return;
-
- if (auto bs = qobject_cast<QbsBuildSystem *>(t->buildSystem());
+ if (auto bs = qobject_cast<QbsBuildSystem *>(project->activeBuildSystem());
bs && bs->session()->apiLevel() >= 8) {
bs->scheduleParsing({{Constants::QBS_RESTORE_BEHAVIOR_KEY, "restore-and-resolve"}});
}
diff --git a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
index 0d565df1223..fa7d3a1fce2 100644
--- a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
+++ b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
@@ -1025,8 +1025,7 @@ void InternalLibraryDetailsController::updateProFile()
m_rootProjectPath = project->projectDirectory().toUrlishString();
- auto t = project->activeTarget();
- auto bs = dynamic_cast<QmakeBuildSystem *>(t ? t->buildSystem() : nullptr);
+ auto bs = dynamic_cast<QmakeBuildSystem *>(project ? project->activeBuildSystem() : nullptr);
QTC_ASSERT(bs, return);
QDir rootDir(m_rootProjectPath);
@@ -1106,9 +1105,8 @@ QString InternalLibraryDetailsController::snippet() const
// the build directory of the active build configuration
QDir rootBuildDir = rootDir; // If the project is unconfigured use the project dir
if (const Project *project = ProjectManager::projectForFile(proFile())) {
- if (ProjectExplorer::Target *t = project->activeTarget())
- if (ProjectExplorer::BuildConfiguration *bc = t->activeBuildConfiguration())
- rootBuildDir.setPath(bc->buildDirectory().toUrlishString());
+ if (ProjectExplorer::BuildConfiguration *bc = project->activeBuildConfiguration())
+ rootBuildDir.setPath(bc->buildDirectory().toUrlishString());
}
// the project for which we insert the snippet inside build tree
diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp
index 8c7d8062a7e..265f9866be7 100644
--- a/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp
@@ -387,10 +387,10 @@ void QmakeProjectManagerPluginPrivate::runQMakeImpl(Project *p, Node *node)
auto *qmakeProject = qobject_cast<QmakeProject *>(p);
QTC_ASSERT(qmakeProject, return);
- if (!qmakeProject->activeTarget() || !qmakeProject->activeTarget()->activeBuildConfiguration())
+ if (!qmakeProject->activeBuildConfiguration())
return;
- auto *bc = static_cast<QmakeBuildConfiguration *>(qmakeProject->activeTarget()->activeBuildConfiguration());
+ auto *bc = static_cast<QmakeBuildConfiguration *>(qmakeProject->activeBuildConfiguration());
QMakeStep *qs = bc->qmakeStep();
if (!qs)
return;
@@ -420,11 +420,7 @@ void QmakeProjectManagerPluginPrivate::buildFile()
Project *project = ProjectManager::projectForFile(file);
if (!project)
return;
- Target *target = project->activeTarget();
- if (!target)
- return;
-
- if (auto bs = qobject_cast<QmakeBuildSystem *>(target->buildSystem()))
+ if (auto bs = qobject_cast<QmakeBuildSystem *>(project->activeBuildSystem()))
bs->buildHelper(QmakeBuildSystem::BUILD, true, buildableFileProFile(node), node);
}
@@ -472,10 +468,7 @@ void QmakeProjectManagerPluginPrivate::updateRunQMakeAction()
enable = false;
auto pro = qobject_cast<QmakeProject *>(m_previousStartupProject);
m_runQMakeAction->setVisible(pro);
- if (!pro
- || !pro->rootProjectNode()
- || !pro->activeTarget()
- || !pro->activeTarget()->activeBuildConfiguration())
+ if (!pro || !pro->rootProjectNode() || !pro->activeBuildConfiguration())
enable = false;
m_runQMakeAction->setEnabled(enable);
@@ -515,8 +508,9 @@ void QmakeProjectManagerPluginPrivate::updateContextActions(Node *node)
m_buildSubProjectAction->setParameter(subProjectName);
m_buildSubProjectContextMenu->setParameter(proFileNode ? proFileNode->displayName() : QString());
- auto buildConfiguration = (qmakeProject && qmakeProject->activeTarget()) ?
- static_cast<QmakeBuildConfiguration *>(qmakeProject->activeTarget()->activeBuildConfiguration()) : nullptr;
+ auto buildConfiguration = qmakeProject ? static_cast<QmakeBuildConfiguration *>(
+ qmakeProject->activeBuildConfiguration())
+ : nullptr;
bool isProjectNode = qmakeProject && proFileNode && buildConfiguration;
bool isBuilding = BuildManager::isBuilding(project);
bool enabled = subProjectActionsVisible && !isBuilding;
diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp
index 4c31579f35c..b6aa16ceb12 100644
--- a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp
+++ b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp
@@ -1776,8 +1776,8 @@ void openEffectComposer(const QString &filePath)
void openOldEffectMaker(const QString &filePath)
{
- const ProjectExplorer::Target *target = ProjectExplorer::ProjectTree::currentTarget();
- if (!target) {
+ const ProjectExplorer::Kit *kit = ProjectExplorer::ProjectTree::currentKit();
+ if (!kit) {
qWarning() << __FUNCTION__ << "No project open";
return;
}
@@ -1789,7 +1789,7 @@ void openOldEffectMaker(const QString &filePath)
if (!effectResPath.exists())
effectResPath.createDir();
- const QtSupport::QtVersion *baseQtVersion = QtSupport::QtKitAspect::qtVersion(target->kit());
+ const QtSupport::QtVersion *baseQtVersion = QtSupport::QtKitAspect::qtVersion(kit);
if (baseQtVersion) {
Utils::Environment env = Utils::Environment::systemEnvironment();
diff --git a/src/plugins/qmljseditor/qmllsclientsettings.cpp b/src/plugins/qmljseditor/qmllsclientsettings.cpp
index f8ef2695185..3e32a20758a 100644
--- a/src/plugins/qmljseditor/qmllsclientsettings.cpp
+++ b/src/plugins/qmljseditor/qmllsclientsettings.cpp
@@ -69,16 +69,7 @@ QmllsClientSettings::QmllsClientSettings()
static QtVersion *qtVersionFromProject(const Project *project)
{
- if (!project)
- return {};
- auto *target = project->activeTarget();
- if (!target)
- return {};
- auto *kit = target->kit();
- if (!kit)
- return {};
- auto qtVersion = QtKitAspect::qtVersion(kit);
- return qtVersion;
+ return project ? QtKitAspect::qtVersion(project->activeKit()) : nullptr;
}
static std::pair<FilePath, QVersionNumber> evaluateLatestQmlls()
@@ -134,7 +125,7 @@ static CommandLine commandLineForQmlls(Project *project)
CommandLine result{executable, {}};
- if (auto *configuration = project->activeTarget()->activeBuildConfiguration())
+ if (auto *configuration = project->activeBuildConfiguration())
result.addArgs({"-b", configuration->buildDirectory().path()});
// qmlls 6.8 and later require the import path
diff --git a/src/plugins/qmljstools/qmljsmodelmanager.cpp b/src/plugins/qmljstools/qmljsmodelmanager.cpp
index 4b97b3eaab2..4bda87f9c49 100644
--- a/src/plugins/qmljstools/qmljsmodelmanager.cpp
+++ b/src/plugins/qmljstools/qmljsmodelmanager.cpp
@@ -57,10 +57,7 @@ namespace Internal {
static void setupProjectInfoQmlBundles(ModelManagerInterface::ProjectInfo &projectInfo)
{
- Target *activeTarget = nullptr;
- if (projectInfo.project)
- activeTarget = projectInfo.project->activeTarget();
- Kit *activeKit = activeTarget ? activeTarget->kit() : KitManager::defaultKit();
+ Kit *activeKit = projectInfo.project ? projectInfo.project->activeKit() : KitManager::defaultKit();
const QHash<QString, QString> replacements = {{QLatin1String("$(QT_INSTALL_QML)"), projectInfo.qtQmlPath.toUrlishString()}};
for (IBundleProvider *bp : IBundleProvider::allBundleProviders())
@@ -115,7 +112,6 @@ ModelManagerInterface::ProjectInfo ModelManager::defaultProjectInfoForProject(
ModelManagerInterface::ProjectInfo projectInfo;
projectInfo.project = project;
projectInfo.qmlDumpEnvironment = Utils::Environment::systemEnvironment();
- Target *activeTarget = nullptr;
if (project) {
using namespace Utils::Constants;
const QSet<QString> qmlTypeNames = { QML_MIMETYPE ,
@@ -131,14 +127,14 @@ ModelManagerInterface::ProjectInfo ModelManager::defaultProjectInfoForProject(
&& qmlTypeNames.contains(Utils::mimeTypeForFile(fn->filePath(),
MimeMatchMode::MatchExtension).name());
});
- activeTarget = project->activeTarget();
}
- Kit *activeKit = activeTarget ? activeTarget->kit() : KitManager::defaultKit();
- QtSupport::QtVersion *qtVersion = QtSupport::QtKitAspect::qtVersion(activeKit);
+ Kit *activeKit = project ? project->activeKit() : nullptr;
+ Kit *kit = activeKit ? activeKit : KitManager::defaultKit();
+ QtSupport::QtVersion *qtVersion = QtSupport::QtKitAspect::qtVersion(kit);
projectInfo.tryQmlDump = false;
- if (activeTarget) {
+ if (activeKit) {
FilePath baseDir;
auto addAppDir = [&baseDir, &projectInfo](const FilePath &mdir) {
auto dir = mdir.cleanPath();
@@ -154,7 +150,7 @@ ModelManagerInterface::ProjectInfo ModelManager::defaultProjectInfoForProject(
projectInfo.applicationDirectories.append(dir);
};
- if (BuildConfiguration *bc = activeTarget->activeBuildConfiguration()) {
+ if (BuildConfiguration *bc = project->activeBuildConfiguration()) {
// Append QML2_IMPORT_PATH if it is defined in build configuration.
// It enables qmlplugindump to correctly dump custom plugins or other dependent
// plugins that are not installed in default Qt qml installation directory.
@@ -174,7 +170,7 @@ ModelManagerInterface::ProjectInfo ModelManager::defaultProjectInfoForProject(
// For an IDE things are a bit more complicated because source files might be edited,
// and the directory of the executable might be outdated.
// Here we try to get the directory of the executable, adding all targets
- auto *bs = activeTarget->buildSystem();
+ auto *bs = project->activeBuildSystem();
const auto appTargets = bs ? bs->applicationTargets() : QList<BuildTargetInfo>{};
for (const auto &target : appTargets) {
if (target.targetFilePath.isEmpty())
@@ -205,7 +201,7 @@ ModelManagerInterface::ProjectInfo ModelManager::defaultProjectInfoForProject(
auto v = qtVersion->qtVersion();
projectInfo.qmllsPath = ModelManagerInterface::qmllsForBinPath(qtVersion->hostBinPath(), v);
projectInfo.qtVersionString = qtVersion->qtVersionString();
- } else if (!activeKit || !activeKit->value(QtSupport::Constants::FLAGS_SUPPLIES_QTQUICK_IMPORT_PATH, false).toBool()) {
+ } else if (!kit || !kit->value(QtSupport::Constants::FLAGS_SUPPLIES_QTQUICK_IMPORT_PATH, false).toBool()) {
projectInfo.qtQmlPath = FilePath::fromUserInput(QLibraryInfo::path(QLibraryInfo::Qml2ImportsPath));
projectInfo.qmllsPath = ModelManagerInterface::qmllsForBinPath(
FilePath::fromUserInput(QLibraryInfo::path(QLibraryInfo::BinariesPath)), QLibraryInfo::version());
@@ -213,7 +209,7 @@ ModelManagerInterface::ProjectInfo ModelManager::defaultProjectInfoForProject(
}
projectInfo.qmlDumpPath.clear();
- const QtSupport::QtVersion *version = QtSupport::QtKitAspect::qtVersion(activeKit);
+ const QtSupport::QtVersion *version = QtSupport::QtKitAspect::qtVersion(kit);
if (version && projectInfo.tryQmlDump) {
projectInfo.qmlDumpPath = version->qmlplugindumpFilePath();
projectInfo.qmlDumpHasRelocatableFlag = version->hasQmlDumpWithRelocatableFlag();
diff --git a/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.cpp b/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.cpp
index e4564367e01..233a077ea9e 100644
--- a/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.cpp
+++ b/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.cpp
@@ -439,9 +439,9 @@ Utils::FilePath QmlBuildSystem::getStartupQmlFileWithFallback() const
QmlBuildSystem *QmlBuildSystem::getStartupBuildSystem()
{
auto project = ProjectExplorer::ProjectManager::startupProject();
- if (project && project->activeTarget() && project->activeTarget()->buildSystem()) {
+ if (project && project->activeBuildSystem()) {
return qobject_cast<QmlProjectManager::QmlBuildSystem *>(
- project->activeTarget()->buildSystem());
+ project->activeBuildSystem());
}
return nullptr;
}
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 0741d9eeec3..265dece3097 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -76,11 +76,11 @@ void QmlProject::parsingFinished(const Target *target, bool success)
// trigger only once
disconnect(this, &QmlProject::anyParsingFinished, this, &QmlProject::parsingFinished);
- if (!target || !success || !activeTarget())
+ if (!target || !success || !activeBuildSystem())
return;
const auto qmlBuildSystem = qobject_cast<QmlProjectManager::QmlBuildSystem *>(
- activeTarget()->buildSystem());
+ activeBuildSystem());
if (!qmlBuildSystem)
return;
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index a8021bf53ea..beb10be9baf 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -213,14 +213,8 @@ static QmlBuildSystem *qmlBuildSystemforFileNode(const FileNode *fileNode)
if (!fileNode)
return nullptr;
- if (QmlProject *qmlProject = qobject_cast<QmlProject*>(fileNode->getProject())) {
- Target *target = qmlProject->activeTarget();
- if (!target)
- return nullptr;
-
- return qobject_cast<QmlProjectManager::QmlBuildSystem *>(target->buildSystem());
-
- }
+ if (QmlProject *qmlProject = qobject_cast<QmlProject*>(fileNode->getProject()))
+ return qobject_cast<QmlProjectManager::QmlBuildSystem *>(qmlProject->activeBuildSystem());
return nullptr;
}
diff --git a/src/plugins/qtsupport/externaleditors.cpp b/src/plugins/qtsupport/externaleditors.cpp
index c36b436730a..2c69bc22e77 100644
--- a/src/plugins/qtsupport/externaleditors.cpp
+++ b/src/plugins/qtsupport/externaleditors.cpp
@@ -183,9 +183,7 @@ static bool getEditorLaunchData(const CommandForQtVersion &commandForQtVersion,
if (const Project *project = ProjectManager::projectForFile(filePath)) {
data->workingDirectory = project->projectDirectory();
// active kit
- if (const Target *target = project->activeTarget()) {
- qtVersionsToCheck << QtSupport::QtKitAspect::qtVersion(target->kit());
- }
+ qtVersionsToCheck << QtSupport::QtKitAspect::qtVersion(project->activeKit());
// all kits of project
qtVersionsToCheck += Utils::transform<QVector>(project->targets(), [](Target *t) {
return QTC_GUARD(t) ? QtSupport::QtKitAspect::qtVersion(t->kit()) : nullptr;
diff --git a/src/plugins/qtsupport/qscxmlcgenerator.cpp b/src/plugins/qtsupport/qscxmlcgenerator.cpp
index 6690f0d610b..63ed32ae53e 100644
--- a/src/plugins/qtsupport/qscxmlcgenerator.cpp
+++ b/src/plugins/qtsupport/qscxmlcgenerator.cpp
@@ -88,8 +88,9 @@ Tasks QScxmlcGenerator::parseIssues(const QByteArray &processStderr)
FilePath QScxmlcGenerator::command() const
{
- Target *target = project()->activeTarget();
- Kit *kit = target ? target->kit() : KitManager::defaultKit();
+ Kit *kit = project()->activeKit();
+ if (!kit)
+ kit = KitManager::defaultKit();
QtVersion *version = QtKitAspect::qtVersion(kit);
if (!version)
diff --git a/src/plugins/qtsupport/qtsupportplugin.cpp b/src/plugins/qtsupport/qtsupportplugin.cpp
index 288dcb5f28f..6469345b3ae 100644
--- a/src/plugins/qtsupport/qtsupportplugin.cpp
+++ b/src/plugins/qtsupport/qtsupportplugin.cpp
@@ -178,9 +178,9 @@ void QtSupportPlugin::extensionsInitialized()
static const auto currentQtVersion = []() -> const QtVersion * {
ProjectExplorer::Project *project = ProjectExplorer::ProjectTree::currentProject();
- if (!project || !project->activeTarget())
+ if (!project)
return nullptr;
- return QtKitAspect::qtVersion(project->activeTarget()->kit());
+ return QtKitAspect::qtVersion(project->activeKit());
};
static const char kCurrentHostBins[] = "CurrentDocument:Project:QT_HOST_BINS";
expander->registerVariable(
@@ -213,9 +213,9 @@ void QtSupportPlugin::extensionsInitialized()
static const auto activeQtVersion = []() -> const QtVersion * {
ProjectExplorer::Project *project = ProjectManager::startupProject();
- if (!project || !project->activeTarget())
+ if (!project)
return nullptr;
- return QtKitAspect::qtVersion(project->activeTarget()->kit());
+ return QtKitAspect::qtVersion(project->activeKit());
};
static const char kActiveHostBins[] = "ActiveProject:QT_HOST_BINS";
expander->registerVariable(
@@ -251,8 +251,7 @@ void QtSupportPlugin::extensionsInitialized()
if (filePath.isEmpty())
return links;
const Project *project = ProjectManager::projectForFile(filePath);
- Target *target = project ? project->activeTarget() : nullptr;
- QtVersion *qt = target ? QtKitAspect::qtVersion(target->kit()) : nullptr;
+ QtVersion *qt = project ? QtKitAspect::qtVersion(project->activeKit()) : nullptr;
if (!qt)
return links;
diff --git a/src/plugins/qtsupport/uicgenerator.cpp b/src/plugins/qtsupport/uicgenerator.cpp
index f152242e958..3f584c57587 100644
--- a/src/plugins/qtsupport/uicgenerator.cpp
+++ b/src/plugins/qtsupport/uicgenerator.cpp
@@ -40,8 +40,9 @@ protected:
FilePath UicGenerator::command() const
{
- Target *target = project()->activeTarget();
- Kit *kit = target ? target->kit() : KitManager::defaultKit();
+ Kit *kit = project()->activeKit();
+ if (!kit)
+ kit = KitManager::defaultKit();
QtVersion *version = QtKitAspect::qtVersion(kit);
if (!version)
diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp
index ac0406d0fa2..50593886cf7 100644
--- a/src/plugins/valgrind/memchecktool.cpp
+++ b/src/plugins/valgrind/memchecktool.cpp
@@ -908,9 +908,8 @@ void MemcheckTool::maybeActiveRunConfigurationChanged()
ValgrindSettings *settings = nullptr;
if (Project *project = ProjectManager::startupProject())
- if (Target *target = project->activeTarget())
- if (RunConfiguration *rc = target->activeRunConfiguration())
- settings = rc->currentSettings<ValgrindSettings>(ANALYZER_VALGRIND_SETTINGS);
+ if (RunConfiguration *rc = project->activeRunConfiguration())
+ settings = rc->currentSettings<ValgrindSettings>(ANALYZER_VALGRIND_SETTINGS);
if (!settings) // fallback to global settings
settings = &globalSettings();