aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cmakeprojectmanager/makestep.cpp
diff options
context:
space:
mode:
authorTobias Hunger <[email protected]>2012-09-06 13:13:12 +0200
committerTobias Hunger <[email protected]>2012-09-06 16:52:21 +0200
commit9d90f8b396e8e42e4181edf6cb87d2ae7deddead (patch)
tree05b8085bb713e6ec66de87da2bb447d0ccfd0cb0 /src/plugins/cmakeprojectmanager/makestep.cpp
parent8b05f1afafb044b3f3ca7eeead2e106fb9aa3e28 (diff)
Warn if kit has no tool chain set up
Change-Id: I551402c1e3023feeeb127f001a0e908938a07fc2 Reviewed-by: Daniel Teske <[email protected]>
Diffstat (limited to 'src/plugins/cmakeprojectmanager/makestep.cpp')
-rw-r--r--src/plugins/cmakeprojectmanager/makestep.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp
index feda03a96c1..cb54f8a4b93 100644
--- a/src/plugins/cmakeprojectmanager/makestep.cpp
+++ b/src/plugins/cmakeprojectmanager/makestep.cpp
@@ -132,12 +132,20 @@ bool MakeStep::init()
if (!bc)
bc = static_cast<CMakeBuildConfiguration *>(target()->activeBuildConfiguration());
+ m_tasks.clear();
+ ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit());
+ if (!tc) {
+ m_tasks.append(Task(Task::Error, tr("Qt Creator needs a compiler set up to build. Configure a compiler in the kit options."),
+ Utils::FileName(), -1,
+ Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
+ return true; // otherwise the tasks will not get reported
+ }
+
QString arguments = Utils::QtcProcess::joinArgs(m_buildTargets);
Utils::QtcProcess::addArgs(&arguments, additionalArguments());
setIgnoreReturnValue(m_clean);
- ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(target()->kit());
ProcessParameters *pp = processParameters();
pp->setMacroExpander(bc->macroExpander());
pp->setEnvironment(bc->environment());
@@ -158,6 +166,17 @@ bool MakeStep::init()
void MakeStep::run(QFutureInterface<bool> &fi)
{
+ bool canContinue = true;
+ foreach (const Task &t, m_tasks) {
+ addTask(t);
+ canContinue = false;
+ }
+ if (!canContinue) {
+ emit addOutput(tr("Configuration is faulty. Check the Issues view for details."), BuildStep::MessageOutput);
+ fi.reportResult(false);
+ return;
+ }
+
m_futureInterface = &fi;
m_futureInterface->setProgressRange(0, 100);
AbstractProcessStep::run(fi);