Commit Graph

106 Commits

Author SHA1 Message Date
hjk
d1c9b33eb7 ProjectExplorer: Add a RunConfigurationFactory::canHandle(Target *)
All RunConfiguration factories had some kind of canHandle(Target *)
implementation. Centralize this notion.

Change-Id: Ie24a355e857bddfd76b866859b8c7a42ffc83840
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-11-20 08:52:00 +00:00
hjk
9792547ef9 ProjectExplorer: Implement RunConfiguration::do{Clone,Restore} in base
It's possible now.

Change-Id: I49ed73312aea1627a9543890431e2e379e3fb3ec
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-11-16 14:08:33 +00:00
hjk
28fda42c62 CMake: Use Standard RunConfiguration::initialize(Id) signature
Change-Id: I66b534df216552d129d4605148ff3b4eff543d11
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-11-15 16:36:49 +00:00
hjk
dfd4ad8c2d ProjectExplorer: Simplify IRunConfigurationFactory::clone() use
Change-Id: I005d6c87142d26dfc7ae1349329737a68f54c427
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-11-14 10:58:30 +00:00
hjk
5ca90a4a5e ProjectExplorer: Fix copying of RunConfigurationAspects
Moving aspect data closer to real Value semantics fixes
the regression introduced by 890c1906e.

Task-number: QTCREATORBUG-19186
Task-number: QTCREATORBUG-19192
Change-Id: Ieaeef3995ae06a817f266c1e2514f9e5793bd4e8
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-11-10 15:09:59 +00:00
Tobias Hunger
9ca74997d5 CMake: Use QtOutputFormatter for CMakeRunConfigurations
Use QtOutputFormatter for CMake run configurations that belong to targets
with Qt configured.

Task-number: QTCREATORBUG-18586
Change-Id: Iedb6d7079649022b2ba6dabef37b79c0d33b8635
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-11-07 09:51:22 +00:00
hjk
890c1906e6 ProjectExplorer: Re-organize RunConfiguration constructors
The idea is to massage the setup in a way to make implementation
of new configurations less error prone by identifying recurring patterns
and sharing repetitive code that tends to be forgotten (see Android cloning).

The former two lines of constructors (owner-and-id, owner-and-source)
are split into a simple, shared, constructor and new setId() and
copyFrom() functions.

The change is mostly mechanical, some multiple calls to fromMap
have been removed, though, some consts added.

Otherwise, to keep the patch small it temporarily introduces two
helper templates in IRunConfigurationFactory. Also, setId() signatures
have not been unified yet. These won't be needed in the final setup.

Change-Id: I8c0734496caae744a9883fe6d92c1d8f8e0234ea
Reviewed-by: hjk <hjk@qt.io>
2017-09-13 09:24:26 +00:00
Tobias Hunger
131c7a1c4e ProjectExplorer: Introduce base class for enabled/disabled project configuration
... and use this as a base for all RunConfigurations.

Clean out code in the individual run configurations dealing with their
enabled/disabled state.

Change-Id: Icc2ea136b056f7aea7ce96480b4402459d7ac0ce
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-07-28 17:26:03 +00:00
Christian Stenger
a65ce0fe5b CMakePM: Fix assignment of build system target
Additionally rename formerly used variable to better express
what it is for.

Change-Id: I6ecf6a5ac30bc411b41a1de3629a27f8882a0a28
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-03-28 05:06:43 +00:00
Tobias Hunger
e8b4e180cd RunConfiguration: Introduce buildSystemTarget()
Introduce a method that maps a RunConfiguration to the build system target
that created the executable.

Implement the method in all RunConfigurations where that makes sense (e.g.
no CustomExecutables).

Change-Id: Ifaac859c2cd9b2806a0d7c185b2239312a67752a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-01-30 13:27:16 +00:00
Tobias Hunger
9ff2bd16d3 CMake: Use Utils::FileName where appropriate
Change-Id: I3ab0a68920e27ebcf4e1dd58180a72ded58b892e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-10-17 11:41:51 +00:00
Tobias Hunger
b2d537c878 CMake: Cleanup files
Change-Id: I22a20e598389bf27417bcb230dd469f8f9dfce0e
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-02-12 10:37:13 +00:00
Tobias Hunger
cfa9dd4c03 CMake: Use pragma once consistently
Change-Id: Id164dea5e7047b87c3d11c53ebd044d567129e9c
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-27 09:15:45 +00:00
hjk
9ae2ce7629 ProjectExplorer: Drop LocalApplicationRunConfiguration
The functionality can be provided by producing a suitable Runnable
in the derived classes directly.

Change-Id: I7b8e8fe33fffd2b00176b6cf6633eca4e152e466
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-26 10:09:29 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Tobias Hunger
b2b6d3c526 CMake: Semi-automatic cleanups
* Shorten header guards
* Use override and auto where possible
* Remove useless destructors, etc.
* Remove private slots sections, unify private: sections
* Use member initialization where it makes sense

Change-Id: I00eaf6d706adc16859176d1b68c631d3336bb39f
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-01-08 12:17:41 +00:00
hjk
e5b9e819fa CMakeProjectManager: Use WorkingDirectoryAspect
This mimics the relevant parts of QbsProjectManager.

Change-Id: I31257556ce0fcc714f6fac26f9d0b88ca6cb076b
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2015-12-17 11:16:07 +00:00
Tobias Hunger
a110abeed7 Remove unnecessary destructors
Change-Id: Id0bc2d3a305e6af24838266195ab22e04e3a12a1
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-16 11:16:17 +00:00
Tobias Hunger
0e278e9efe ProjectConfiguration: Sprinkle override and explicit over the code
Change-Id: I2aa3a32a0d30f1d122977d94d4109227dea6bbd7
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-11-16 10:14:32 +00:00
hjk
b02b0c8d6d CMake: Remove no more used CMakeRunConfiguration::setRunMode function
Change-Id: I1e618408ba87fa1fbcd3c78498adb83d149d935a
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-05-18 07:36:35 +00:00
hjk
192b3fc994 CMake: Use TerminalAspect in CMakeRunConfiguration
Change-Id: I293252c2beadc6fc4b4650dbf09127aa5e7898f6
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-05-12 11:51:29 +00:00
hjk
a6990e7e24 CMake: Use ArgumentsAspect in CMakeRunConfiguration
Change-Id: I30fbfc0bcc5e6c997190c3f1a1c279dab06fdbc0
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-04-30 12:37:16 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Christian Kandeler
93304df038 Always pass Core::Id by value.
Currently we pass in some places by value, elsewhere by const ref and
for some weird reason also by const value in a lot of places. The latter
is particularly annoying, as it is also used in interfaces and therefore
forces all implementors to do the same, since leaving the "const" off is
causing compiler warnings with MSVC.

Change-Id: I65b87dc3cce0986b8a55ff6119cb752361027803
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-01 11:52:08 +02:00
Daniel Teske
c78258cd57 Allow the user to restrict rc creation to certain .pro
Task-number: QTCREATORBUG-10953
Change-Id: Iff1a31c007ac777bfa390d48237480ef56ffc0e4
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-06-16 13:04:23 +02:00
Orgad Shaneh
af5b3246cf ProjectExplorer: Get rid of LocalApplicationRunConfiguration::RunMode
Change-Id: I132eb2615842ad7fdf6d7fa0f87d8c2c0c77203e
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-28 13:22:11 +02:00
Eike Ziller
236ea9efb9 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/dumper.cpp
	share/qtcreator/debugger/dumper_p.h
	share/qtcreator/debugger/test/main.cpp
	src/plugins/debugger/gdb/classicgdbengine.cpp
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.h
	src/plugins/debugger/lldblib/guest/main.cpp
	src/plugins/debugger/lldblib/ipcengineguest.cpp
	src/plugins/debugger/lldblib/ipcengineguest.h
	src/plugins/debugger/lldblib/ipcenginehost.cpp
	src/plugins/debugger/lldblib/ipcenginehost.h
	src/plugins/debugger/lldblib/lldbenginehost.cpp
	src/plugins/debugger/lldblib/lldboptionspage.cpp
	src/plugins/qbsprojectmanager/qbsstep.cpp
	src/plugins/qbsprojectmanager/qbsstep.h
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas_p.h
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d_p.h
	src/plugins/qmlprofiler/canvas/qmlprofilercanvas.cpp
	src/plugins/qnx/blackberrycheckdevmodestep.cpp
	src/plugins/qtsupport/debugginghelper.cpp

Change-Id: Ie9fd0a885fb6264a6a8a72daee071b75bcbd2e9d
2014-01-08 11:01:06 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
hjk
bad8a451a6 Debugger: Remove support for non-Python GDB
This affects mainly Apple's version of GDB. Mac users are advised to
use LLDB, or some recent build of FSF GDB.

Change-Id: I6a7fbb591e79f737e12d08b0e881e9e4d1d9660c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-01-06 15:41:16 +01:00
Tobias Hunger
41804ac884 Remove environmentinformation from the runconfigurations
It is no longer used.

Change-Id: Ie99af7b432bba07f8e334c99817bd535828ade8b
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-11 15:15:18 +02:00
Tobias Hunger
47abeac15b Use EnvironmentAspect to retrieve the environment
Change-Id: If878e22cc2715d05bb3e65ad908cd4fb5e21b03b
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-11 15:15:08 +02:00
Tobias Hunger
036d977b93 RunConfigurationFactory: Centralize much of the restore code
Change-Id: I30c92dd5082eed050c2796a014919788710baafa
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-05 08:55:11 +02:00
Tobias Hunger
1650c22b7b RunConfigurationAspect: Add RunConfiguration parameter to factory method
Change-Id: I7fbb82dc3ff83593473a57c69d0eb89bc33f50f5
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-05 08:55:01 +02:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
Tobias Hunger
7a70b4f135 LocalApplicationRC: Rename files to localapplicationrunconfiguration.(h|cpp)
I ran once too often into them being called applicationrunconfiguration.(h|cpp)!

Change-Id: I280a3280173b80d4d955faddedf11688786eee14
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-01-28 14:46:47 +01:00
Daniel Teske
be516c7c6e Remove useless CMakeBuildConfiguration fwd-declaration
Change-Id: If0a88439f5ebbcf01cbe90332f74540fd5c09413
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-11-07 13:24:17 +01:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Daniel Teske
36f6c02f1c Remove evaluateBuildSystem signal
It adds almost nothing and introduced some bugs.
This fixes:
Double evaluation in cmakeproject on build directory changes.
Wrong runconfiguration update in cmake for set_target_properties(target
PROPERTIES OUTPUT_NAME [..]) changes.

Unecessary runconfiguration removal in AutoTools and Generic projectmanager.

Reevaluation of .pro files on changing the active runconfiguration or deploy
configuration.

Task-number: QTCREATORBUG-7723
Task-number: QTCREATORBUG-7761

Change-Id: I50249b186917cd3a4f399f187f09ac8428ab6f9e
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-08-24 12:13:48 +02:00
Daniel Teske
596ce92dd4 Make canHandle methods private
They are an implementation detail, atm.

Change-Id: I50b8fd9c9c28794bfbf70fc9d7ea6703e651b9fe
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-08-22 16:33:47 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
Daniel Teske
28f71d6ae9 Remove CMakeRunConfiguration::activeBuildConfiguration()
It's the same as RunConfiguration::activeBuildConfiguration

Change-Id: I117edbe2347dd40b183ba7e9d2f6ace08645db7e
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-07-18 11:21:46 +02:00
Tobias Hunger
2431456216 Profile introduction
Introduce Profiles to store sets of values that describe a system/device.

These profiles are held by a target, getting rid of much of the information
stored in the Build-/Run-/DeployConfigurations, greatly simplifying those.

This is a squash of the wip/profile branch which has been on gerrit for a
while, rebased to current master.

Change-Id: I25956c8dd4d1962b2134bfaa8a8076ae3909460f
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-06-21 12:08:12 +02:00
Tobias Hunger
df5dab6382 Use Core::Id in project-related objects
Use Core::Id for all the project related objects in favor of plain
QStrings.

Change-Id: I790ab40cb29899efdb49c413a77609486f52e683
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-04-25 11:49:19 +02:00
hjk
503c6e2684 projectexplorer: Make the debugger language chooser a (hardcoded) "aspect"
This is the first step of a larger refactoring. The plan is to make
debuggersettings more orthogonal to individual runconfiguration
implementation. This patch alone already pushes the settings handling
to the debugger plugin and removes code duplication in the
runconfiguration implementation.

Change-Id: I4c78d1658ea462d3df14b873f8f41cc918a23f1a
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-02-21 12:21:38 +01:00
hjk
2931a499e6 Long live the king!
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-26 19:55:36 +01:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
dt_
fec98bdf80 Add RunConfiguration::disabledReason
Not used yet

Change-Id: I76b3b81282dea4bca97eaf64e297154a20cf2096
Reviewed-on: http://codereview.qt.nokia.com/190
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2011-05-27 15:49:04 +02:00
dt_
fc90ea3c10 Remove BuildConfiguration parameter from RunConfiguration::isEnabled
Noone used it anyway, makes the code easier to refactor later.

Change-Id: I367c3f15ec5034740760dfe1becd3063b2e19dc1
Reviewed-on: http://codereview.qt.nokia.com/187
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2011-05-27 15:15:43 +02:00