Benjamin Zeller has proposed merging 
lp:~zeller-benjamin/kubuntu-packaging/fixcmakeagain into 
lp:~kubuntu-packagers/kubuntu-packaging/qtcreator.

Commit message:
Fixes Bug lp:1489331 "Complains about not being able to find custom executable 
when trying to run application"

Requested reviews:
  Zoltan Balogh (bzoltan)
  Timo Jyrinki (timo-jyrinki)
Related bugs:
  Bug #1489331 in qtcreator (Ubuntu): "[Wily Qtcreator 3.5] Complains about not 
being able to find custom executable when trying to run application"
  https://bugs.launchpad.net/ubuntu/+source/qtcreator/+bug/1489331

For more details, see:
https://code.launchpad.net/~zeller-benjamin/kubuntu-packaging/fixcmakeagain/+merge/269623

Fixes Bug lp:1489331 "Complains about not being able to find custom executable 
when trying to run application"
-- 
Your team Kubuntu Packagers is subscribed to branch 
lp:~kubuntu-packagers/kubuntu-packaging/qtcreator.
=== modified file 'debian/patches/cmake_ubuntuspecificbits.diff'
--- debian/patches/cmake_ubuntuspecificbits.diff	2015-06-04 08:56:32 +0000
+++ debian/patches/cmake_ubuntuspecificbits.diff	2015-08-31 09:24:59 +0000
@@ -1,8 +1,6 @@
-diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
-index 476d3da..bdf2c47 100644
 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
 +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
-@@ -148,10 +148,10 @@ void CMakeManager::createXmlFile(Utils::QtcProcess *proc, const QString &executa
+@@ -148,10 +148,10 @@
      proc->setWorkingDirectory(buildDirectoryPath);
      proc->setEnvironment(env);
  
@@ -16,11 +14,9 @@
      Utils::QtcProcess::addArgs(&args, arguments);
      Utils::QtcProcess::addArg(&args, generator);
      proc->setCommand(executable, args);
-diff --git a/src/plugins/cmakeprojectmanager/generatorinfo.cpp b/src/plugins/cmakeprojectmanager/generatorinfo.cpp
-index e3c5a38..9f2bdc8 100644
 --- a/src/plugins/cmakeprojectmanager/generatorinfo.cpp
 +++ b/src/plugins/cmakeprojectmanager/generatorinfo.cpp
-@@ -130,7 +130,8 @@ QList<GeneratorInfo> GeneratorInfo::generatorInfosFor(ProjectExplorer::Kit *k, N
+@@ -132,7 +132,8 @@
      if (deviceType !=  ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE
              && deviceType != BareMetal::Constants::BareMetalOsType
              && deviceType != RemoteLinux::Constants::GenericLinuxOsType
@@ -30,11 +26,9 @@
          return results;
      ProjectExplorer::Abi targetAbi = tc->targetAbi();
      if (n != ForceNinja) {
-diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp
-index 7de1327..558ec8f 100644
 --- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp
 +++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp
-@@ -1950,6 +1950,7 @@ EvalResult *QmakeProFileNode::evaluate(const EvalInput &input)
+@@ -1938,6 +1938,7 @@
          result->newVarValues[AndroidPackageSourceDir] = input.readerExact->values(QLatin1String("ANDROID_PACKAGE_SOURCE_DIR"));
          result->newVarValues[AndroidExtraLibs] = input.readerExact->values(QLatin1String("ANDROID_EXTRA_LIBS"));
          result->newVarValues[IsoIconsVar] = input.readerExact->values(QLatin1String("ISO_ICONS"));
@@ -42,11 +36,9 @@
  
          result->isDeployable = false;
          if (result->projectType == ApplicationTemplate) {
-diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.h b/src/plugins/qmakeprojectmanager/qmakenodes.h
-index c33e70d..ebd3b9a 100644
 --- a/src/plugins/qmakeprojectmanager/qmakenodes.h
 +++ b/src/plugins/qmakeprojectmanager/qmakenodes.h
-@@ -110,7 +110,8 @@ enum QmakeVariable {
+@@ -110,7 +110,8 @@
      AndroidDeploySettingsFile,
      AndroidPackageSourceDir,
      AndroidExtraLibs,
@@ -56,11 +48,9 @@
  };
  
  namespace Internal {
-diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
-index 435918a..4956d46 100644
 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp
 +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
-@@ -305,9 +305,10 @@ IProjectManager *QmlProject::projectManager() const
+@@ -305,9 +305,10 @@
  bool QmlProject::supportsKit(Kit *k, QString *errorMessage) const
  {
      Id deviceType = DeviceTypeKitInformation::deviceTypeId(k);
@@ -73,4 +63,51 @@
          return false;
      }
  
-
+--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
++++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+@@ -630,16 +630,14 @@
+ // TODO Compare with updateDefaultRunConfigurations();
+ void CMakeProject::updateRunConfigurations(Target *t)
+ {
++    // create new and remove obsolete RCs using the factories
++    t->updateDefaultRunConfigurations();
++
+     // *Update* runconfigurations:
+     QMultiMap<QString, CMakeRunConfiguration*> existingRunConfigurations;
+-    QList<ProjectExplorer::RunConfiguration *> toRemove;
+     foreach (ProjectExplorer::RunConfiguration *rc, t->runConfigurations()) {
+         if (CMakeRunConfiguration* cmakeRC = qobject_cast<CMakeRunConfiguration *>(rc))
+             existingRunConfigurations.insert(cmakeRC->title(), cmakeRC);
+-        QtSupport::CustomExecutableRunConfiguration *ceRC =
+-                qobject_cast<QtSupport::CustomExecutableRunConfiguration *>(rc);
+-        if (ceRC && !ceRC->isConfigured())
+-            toRemove << rc;
+     }
+ 
+     foreach (const CMakeBuildTarget &ct, buildTargets()) {
+@@ -656,14 +654,9 @@
+                 rc->setEnabled(true);
+             }
+             existingRunConfigurations.remove(ct.title);
+-        } else {
+-            // Does not exist yet
+-            Core::Id id = CMakeRunConfigurationFactory::idFromBuildTarget(ct.title);
+-            CMakeRunConfiguration *rc = new CMakeRunConfiguration(t, id, ct.executable,
+-                                                                  ct.workingDirectory, ct.title);
+-            t->addRunConfiguration(rc);
+         }
+     }
++
+     QMultiMap<QString, CMakeRunConfiguration *>::const_iterator it =
+             existingRunConfigurations.constBegin();
+     for ( ; it != existingRunConfigurations.constEnd(); ++it) {
+@@ -674,9 +667,6 @@
+         // removeRunConfiguration(rc);
+     }
+ 
+-    foreach (ProjectExplorer::RunConfiguration *rc, toRemove)
+-        t->removeRunConfiguration(rc);
+-
+     if (t->runConfigurations().isEmpty()) {
+         // Oh no, no run configuration,
+         // create a custom executable run configuration

-- 
kubuntu-devel mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel

Reply via email to