From 2d65dec3e9eb9694b790372f05a91566696ea76a Mon Sep 17 00:00:00 2001 From: dt <qtc-committer@nokia.com> Date: Wed, 17 Jun 2009 17:56:40 +0200 Subject: [PATCH] Add a toolChainType() method to the ApplicationRunConfiguration. Best effort only though. This can make detection in the debugger which engine should be used easier. Task-Nr: 256161 --- src/plugins/cmakeprojectmanager/cmakeproject.cpp | 9 +++++++++ src/plugins/cmakeprojectmanager/cmakeproject.h | 1 + .../cmakeprojectmanager/cmakerunconfiguration.cpp | 6 ++++++ src/plugins/cmakeprojectmanager/cmakerunconfiguration.h | 1 + .../projectexplorer/applicationrunconfiguration.h | 3 +++ .../projectexplorer/customexecutablerunconfiguration.cpp | 4 ++++ .../projectexplorer/customexecutablerunconfiguration.h | 2 ++ src/plugins/projectexplorer/toolchain.h | 1 + src/plugins/qt4projectmanager/qt4runconfiguration.cpp | 5 +++++ src/plugins/qt4projectmanager/qt4runconfiguration.h | 1 + 10 files changed, 33 insertions(+) diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index df3428cbc4d..362347d21b8 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -612,6 +612,15 @@ CMakeTarget CMakeProject::targetForTitle(const QString &title) return CMakeTarget(); } +ProjectExplorer::ToolChain::ToolChainType CMakeProject::toolChainType() const +{ + if (m_toolChain) + return m_toolChain->type(); + return ProjectExplorer::ToolChain::UNKNOWN; +} + +// CMakeFile + CMakeFile::CMakeFile(CMakeProject *parent, QString fileName) : Core::IFile(parent), m_project(parent), m_fileName(fileName) { diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h index 90e692a1e0d..603d4e85553 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.h +++ b/src/plugins/cmakeprojectmanager/cmakeproject.h @@ -105,6 +105,7 @@ public: CMakeTarget targetForTitle(const QString &title); QString sourceDirectory() const; + ProjectExplorer::ToolChain::ToolChainType toolChainType() const; protected: virtual void saveSettingsImpl(ProjectExplorer::PersistentSettingsWriter &writer); diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp index 94880ecf3d9..eda621739a1 100644 --- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp @@ -217,6 +217,12 @@ void CMakeRunConfiguration::setUserEnvironmentChanges(const QList<ProjectExplore } } +ProjectExplorer::ToolChain::ToolChainType CMakeRunConfiguration::toolChainType() const +{ + CMakeProject *pro = static_cast<CMakeProject *>(project()); + return pro->toolChainType(); +} + // Configuration widget diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h index 89d9ba6eee4..3c8148a3ad0 100644 --- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h +++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h @@ -70,6 +70,7 @@ public: virtual void save(ProjectExplorer::PersistentSettingsWriter &writer) const; virtual void restore(const ProjectExplorer::PersistentSettingsReader &reader); virtual QString dumperLibrary() const; + virtual ProjectExplorer::ToolChain::ToolChainType toolChainType() const; signals: void baseEnvironmentChanged(); diff --git a/src/plugins/projectexplorer/applicationrunconfiguration.h b/src/plugins/projectexplorer/applicationrunconfiguration.h index 44d8a8e479f..d9f5b543af0 100644 --- a/src/plugins/projectexplorer/applicationrunconfiguration.h +++ b/src/plugins/projectexplorer/applicationrunconfiguration.h @@ -30,6 +30,8 @@ #ifndef APPLICATIONRUNCONFIGURATION_H #define APPLICATIONRUNCONFIGURATION_H +#include <projectexplorer/toolchain.h> + #include "runconfiguration.h" #include "applicationlauncher.h" @@ -55,6 +57,7 @@ public: virtual QStringList commandLineArguments() const = 0; virtual Environment environment() const = 0; virtual QString dumperLibrary() const = 0; + virtual ProjectExplorer::ToolChain::ToolChainType toolChainType() const = 0; virtual void save(PersistentSettingsWriter &writer) const; virtual void restore(const PersistentSettingsReader &reader); diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp index 1d13e778f60..30355a4e81c 100644 --- a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp +++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp @@ -459,6 +459,10 @@ QString CustomExecutableRunConfiguration::dumperLibrary() const return ProjectExplorer::DebuggingHelperLibrary::debuggingHelperLibrary(qmakePath); } +ProjectExplorer::ToolChain::ToolChainType CustomExecutableRunConfiguration::toolChainType() const +{ + return ProjectExplorer::ToolChain::UNKNOWN; +} // Factory diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.h b/src/plugins/projectexplorer/customexecutablerunconfiguration.h index da1916ba5cc..894116fc08e 100644 --- a/src/plugins/projectexplorer/customexecutablerunconfiguration.h +++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.h @@ -90,6 +90,8 @@ public: virtual QWidget *configurationWidget(); virtual QString dumperLibrary() const; + virtual ProjectExplorer::ToolChain::ToolChainType toolChainType() const; + signals: void changed(); diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h index c4b112fc957..15a2278291e 100644 --- a/src/plugins/projectexplorer/toolchain.h +++ b/src/plugins/projectexplorer/toolchain.h @@ -74,6 +74,7 @@ public: MSVC, WINCE, OTHER, + UNKNOWN, INVALID }; diff --git a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp index 45f283ed85b..876929a85f2 100644 --- a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp @@ -635,6 +635,11 @@ Qt4RunConfiguration::BaseEnvironmentBase Qt4RunConfiguration::baseEnvironmentBas { return m_baseEnvironmentBase; } +ProjectExplorer::ToolChain::ToolChainType Qt4RunConfiguration::toolChainType() const +{ + Qt4Project *pro = qobject_cast<Qt4Project *>(project()); + return pro->qtVersion(pro->activeBuildConfiguration())->toolchainType(); +} /// /// Qt4RunConfigurationFactory diff --git a/src/plugins/qt4projectmanager/qt4runconfiguration.h b/src/plugins/qt4projectmanager/qt4runconfiguration.h index 37f97d64823..d72671d4848 100644 --- a/src/plugins/qt4projectmanager/qt4runconfiguration.h +++ b/src/plugins/qt4projectmanager/qt4runconfiguration.h @@ -73,6 +73,7 @@ public: virtual QStringList commandLineArguments() const; virtual ProjectExplorer::Environment environment() const; virtual QString dumperLibrary() const; + virtual ProjectExplorer::ToolChain::ToolChainType toolChainType() const; bool isUsingDyldImageSuffix() const; void setUsingDyldImageSuffix(bool state); -- GitLab