Commit Graph

901 Commits

Author SHA1 Message Date
hjk
61709e9266 Analyzer: Use a StandardRunnable instead of an AnalyzerRunnable
... with a lot potential to code consolidation.

Change-Id: I4d3a7fcc1cc6ae8763799f18cf9701695f387791
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-27 15:29:11 +00:00
hjk
82621c7b89 Ios: Adapt IosRunControlFactory to Analyzer changes
Change-Id: I6aed9afaffadc33bec63d798b3f1f7e525a7f790
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-01-20 16:17:35 +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
hjk
0983c7cc1a Ios: use ArgumentsAspect in IosRunConfiguration
Change-Id: I9f2f0eacf5fca155912eb4417d2ac89afcf64901
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2016-01-19 14:04:23 +00:00
Tobias Hunger
d144ea58e0 Project: Add setRootProjectNode method
Add setRootProjectNode method and a default implementation of
rootProjectNode to Project. Use that in all derived classes.

Change-Id: Id28cde04457a20a8963d43020785ef9d77fea57c
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-11 15:33:26 +00:00
hjk
8150209ff7 Analyzer: Slim down AnalyzerStartParameters
* SysRoot can always be determined from kit.
* Pass around RunMode as extra parameter
  not as part of AnalyzerStartParameters.
  That's closer to the pattern used elsewhere.
* Environment was always initialized from the runconfig's
  EnvironmentAspect. The tools can do that directly.
* Provide setter for display name for cases where
  it is not equal to RunConfiguration::displayName

Change-Id: I811a0d7cdeb55cc37a16a593b3942abb567a2150
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-01-07 18:11:09 +00:00
hjk
a16dbc2582 Ios: Use plain C++ for IosRunConfigurationWidget
In preparation for the use of ArgumentsAspect. There's not much
in the form anyways.

Change-Id: I5a4c5d508a032a12bcabc2d1d7f35f3d390e43b5
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2015-12-23 10:41:26 +00:00
Tobias Hunger
71b4ce6673 Qt: Remove platformName and platformDisplayName methods
Fix fallout of this in KitInformation/Kit/KitManager and the wizards.

Change-Id: I5cb88cc381dc04409401909b810940ab6dccf86a
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-12-02 14:49:29 +00:00
Tobias Hunger
d323d595b7 QtVersion: Add a method to query the target device type
Add and implement a method to get the supported target device
types to the BaseQtVersion interface. Implement this for all
Qt versions.

Validate that the Qt version's target device type matches up
with the device type set in the kit and warn on mismatch.

Change-Id: I95da42031022663776afe23a50eae3677bdb1dda
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-12-02 14:49:25 +00:00
Tobias Hunger
4b0a8648e4 FeatureProvider: Remove Feature and FeatureSet
Use Core::Id for Feature and QSet<Core::Id> for FeatureSet.

Change-Id: I12341036bd9eaa82589d92bd3f7d21f2e6b737bd
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-12-02 14:49:17 +00:00
Eike Ziller
fa227a4eef Merge remote-tracking branch 'origin/3.6'
Conflicts:
	src/libs/qmldebug/qmldebugclient.cpp
	src/libs/qmldebug/qmldebugclient.h
	src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp

Change-Id: I9594b4e9befc78f8138deb121f0bfc4212f7edbf
2015-11-26 13:01:20 +01:00
Alessandro Portale
033862f305 Themed Icons: Introduce Utils::Icon
Instead of describing icons via file name or in the themed icons case
via
a string that is a list of mask/color pairs, we have now a class for it.

Icons are now listed in per-plugin *icons.h headers.

RunControl::m_icon was The only place left where an icon property was in
fact a string. This patch changes that member to be a Utils::Icon.

Change-Id: Ibcfa8bb25e6d2e330c567ee7ccc0b97ead603177
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-11-25 12:30:52 +00:00
Eike Ziller
79c27ec6f1 Avoid running qmake by using unsortedVersions
Use unsortedVersions() instead of versions() where possible, since
versions() sorts by version numbers, and therefore needs "qmake -query"
to have run.

Change-Id: I76a05f1647d2baacbd33829c6b3bf719a1c8dcbb
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-11-23 14:48:55 +00:00
Ulf Hermann
2217eef3a3 QmlDebug: Allow different styles of command line arguments
We have tcp, local, and native by now. We have to expose that in a
clean way.

Change-Id: I0ce7be693aa7f47ebea7abe435a224a176b6c94b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:33:15 +00:00
Tobias Hunger
79f82d0d0a BuildManager: Provide context of earlier build steps to init
This information can be used to get information from earlier steps,
which e.g. queried for android devices to deploy to.

Change-Id: Iefe1c9443915cb6211f86f98ff7aaf3cb75145ba
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-16 14:04:59 +00:00
Tobias Hunger
cedf015c10 ProjectConfiguration: Clean up some constants
Remove unnecessary constant and move others into the cpp file where
they are used.

Change-Id: Ib1e8ac69a39eb38794bbdafc860ca42ca29c3bdb
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-16 14:04:40 +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
Tobias Hunger
5d7f5a2a32 ProjectNode: Rename path() to filePath()
Change-Id: I78bb73f8c9457fd74c470eacbf54eb9195ac9681
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-11-03 11:01:50 +00:00
Eike Ziller
310ae09996 Merge remote-tracking branch 'origin/3.6'
Change-Id: I68512c775ed25b51c8b0abe1818c9c7c5955874c
2015-10-30 16:08:03 +01:00
Tobias Hunger
ac1d9abd07 ToolChainManager: Refactor toolchain restoration
This should be simpler to follow now.

Fix autodetection to return not only the newly detected toolchains,
but also those that are re-detected (taking their definition from
the alreadyKnown list passed to the autodetect method where possible).

This avoids running lots of toolchains during start-up, but still
enables us to fix QTCREATORBUG-12751

Task-number: QTCREATORBUG-12751
Change-Id: Ie74e7cffb2b014a6132cc8559db232397344f2f1
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-10-27 12:16:16 +00:00
Eike Ziller
6d4135d8f0 Merge remote-tracking branch 'origin/3.6'
Change-Id: Iddfa0d2f3c0fb8ba65c0e5d479ad8e2f2cb95685
2015-10-26 10:55:50 +01:00
Alessandro Portale
b8bdc6f669 Icon refresh: First step towards the new Qt Creator themes
http://blog.qt.io/blog/author/didesous/ announced new designs/themes
for Qt Creator. This patch replaces many of the existing toolbar icons
with recolorizable masks for better theming support.

Change-Id: I557aa485205fe2624f33724226f698c303342b40
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-10-23 16:04:52 +00:00
Ulf Hermann
69377f0de4 Introduce Profile build mode
We define a Profile build to be a Release build with separate debug
info. You can thus change a given build from Release to Profile of vice
versa by toggling the separate debug info checkbox. The messaging for
future user interaction about Profile builds has to take this into
account.

Task-number: QTCREATORBUG-14009
Change-Id: I62a5b13993b20bf36329b1eefa8b1b6096f31644
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-20 16:15:18 +00:00
Jake Petroules
3fbd210b2a Make iostool arguments closer to phonegap ios-deploy.
phonegap's ios-deploy tool is probably the most widely known command
line tool for deploying and debugging iOS applications. Make several
arguments identical to theirs with the eventual goal of making iostool
and ios-deploy command lines interchangeable.

This is a libexec (private) tool only used internally by Qt Creator,
so the changes should not impact anyone.

Change-Id: I51f25f9c466570ca65b415d4ea94c78285cff1c2
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-10-20 15:41:39 +00:00
Eike Ziller
e3f770a50c iOS: Refactor iOS tool chain and kit auto detection
It was all done in one huge, unreadable method.
The refactoring along-side fixes the following:

- iOS tool chains were demoted to manual at start up because there
  was no tool chain factory that would auto detect them
- a QTC_CHECK failed because single Qt Versions could appear multiple
  times in the architecture->Qt version map, because each architecture
  is present in two abis (32-bit and 64-bit)

The refactoring also removes unneeded automatic conversion
from non-iOS Qt version to iOS Qt version, and removes considering GCC
toolchains (which were not handled anyhow, because only Clang
"platforms" were considered).

Change-Id: Ic9ae797646f159ed45959fc797990aa98f2136fb
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-19 07:20:53 +00:00
Eike Ziller
3286113ea8 Merge remote-tracking branch 'origin/3.5'
Change-Id: I4d74ad26046136ff2d38cfc1015b502009b2b344
2015-10-07 10:54:25 +02:00
Eike Ziller
bbc07bd47e iOS: Do not hardcode Qt version in iOS kits
Since Qt installers nowadays (since Qt 5.3) register all Qt patch
releases of the same minor version with the same ID, the Kit will not be
updated (because the Qt 'is the same'), so it should use %{Qt:Version}
instead of hardcoding the version.

Change-Id: Ieb8b766490b3c6297fa11802c6e13724658795d5
Task-number: QTCREATORBUG-15128
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-01 16:31:22 +00:00
hjk
77661e378a Utils: Remove qPidToPid() adapter function
Since Qt 5.3, there's a QProcess::processId() providing direct access.

Change-Id: Ia9c143c7a92ec61d1aa36ff3f4670ba72a509634
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-09-16 12:08:16 +00:00
hjk
4c0aa28ab5 iOS: Use some more Qt5-style connects
Safer to refactor.

Change-Id: Ie909b695e7d1d7a473aba6bb39e6bdf0d5d24d85
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-09-11 14:30:37 +00:00
Ulf Hermann
5f90990c30 Tell the QML debug server exactly what services we expect
The services need to be loaded before the first QML engine is created.
The first QML engine may be created before a client connects. When the
JavaScript debug service is loaded the engine is put into interpreter
mode as we don't support debugging in JIT mode. Profiling, however
should be done in JIT mode, whenever possible.

Thus, in order to avoid the loading of unnecessary plugins and to get
better results from the QML profiler we tell the debug server which
services we expect, even before the client connects. Qt 5.6 will support
additional command line arguments to specify the services and this
change uses them.

Change-Id: I6dcee016c39995e9adada6eaf0e39d8299c9b7e7
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-08-17 15:13:56 +00:00
Christian Kandeler
be31022276 Ios: Add missing "override" modifiers.
Change-Id: I9d57222f86af8ecbdc0d6d7969c14da523a198be
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-08-17 14:08:37 +00:00
Christian Kandeler
1c822544f0 Ios: Remove some unneeded references to QmakeProjectManager.
Includes, namespace usings and casts.

Change-Id: Iaa9caa1387f1f96fa5d8537d8cfec78ab9786789
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-08-10 08:34:33 +00:00
Eike Ziller
cd5f9f6ff8 Merge remote-tracking branch 'origin/3.5'
Change-Id: I7b3ef276d438ff0f184a649153e8aeec08a9f8c9
2015-08-04 13:16:03 +02:00
Eike Ziller
aa8998cfb3 iOS: Fix kit creation with Xcode 7
Xcode 7's platform plist does not specify a concrete version
for the SDK in the SDK name anymore.
So, if we do not find an SDK with the same name, look for an SDK
with a version that matches the platform's 'Version' setting.

Trying to figure out from the settings looks inherently fragile
to me though, and we might be better off just using
xcrun -sdk <sdk> --show-sdk-path

Change-Id: Ief45f03aa7cd5193f6c24b087eb635d3f5ba5298
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-08-04 11:09:10 +00:00
Eike Ziller
dcab956dc8 iOS: Do not drag unused QSettings objects around.
Change-Id: I5f641ba713e11c7a5376f94babf745f35ccbdba2
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-08-04 11:09:03 +00:00
Tobias Hunger
c275dac084 Rename toolchain type constants in ProjectExplorer
Change-Id: I56f5b7373846bb091456c050eb1ff3495ca2dd72
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-07-14 14:44:07 +00:00
Tobias Hunger
e6d1141e1e ToolChain: Get rid of type() in favor of typeId()
Change-Id: I8fc68c266acb55a7c3e014697a7b526784914f7a
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-07-14 14:40:03 +00:00
Tobias Hunger
cbf302893d ToolChain: Turn id into a QByteArray
That should take a couple of bytes less to store. Make sure this
change is invisible to the configuration files.

Change-Id: If5e73b52493c9164de9e342021d8153d274b350f
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-07-09 11:07:12 +00:00
Tobias Hunger
2e6855249f PNG: Run pngcrush on images with iCCP or sRGB profiles
This quietens warnings from libPNG during startup and shrinks the
image sizes.

Change-Id: Ieb4cb5e8ba30b99653896e283c2fb2cc267257f2
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-07-03 09:50:46 +00:00
BogDan Vatra
2182ded57b ProjectExplorer: Use Core::Id as RunMode "enum values"
This provides a way for third-party plugins to implement run
modes without the need to add a value to the central enum or
using manual workarounds like RunMode(*(int*)&someUniqueObject).

Instead of centrally defined enum values this uses Core::Id that could
be defined anywhere.

Change-Id: Ic350e3d8dbb8042c61b2d4ffec993ca151f53099
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-06-30 06:20:54 +00:00
hjk
1538dca81a Debugger: Continue DebuggerStartParameter cleanup
- Move sysRoot, debuggerCommand, targetAbi to DebuggerRunParameters,
  they are always the one coming from the kit.
- Move projectSource{Directory,Files} to DebuggerRunParameters,
  they are alway coming from the runConfiguration's project
- Pass RunConfiguration always as separate parameter, that's
  what related code does.

Change-Id: I9965a052237af53fa2d170701bc88b552cab12ed
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2015-06-26 18:14:57 +00:00
hjk
bea726e8e2 Analyzer: Replace StartMode with a useStartupProject boolean
This is what it is on the top level. The change makes it obvious
that in the valgrind(-derived) plugins the value is later wrongly
used to make a decision on whether to run the valgrind process
locally or remotely. But that's isolated in valgrind now and
can be fixed there.

Change-Id: I6fa5e669dec1f9e2cdebe42a1591d15144082a21
Reviewed-by: Anton Kreuzkamp <anton.kreuzkamp@kdab.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2015-06-17 09:39:21 +00:00
Tobias Hunger
6d6bb7a433 ios: s/Q_DECL_OVERRIDE/override/g
Change-Id: I34749159abb7c48172a093037a4de800fabcecd2
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-06-04 08:31:15 +00:00
hjk
6eada122a3 Use free Debugger::createDebuggerRunControl() function
Allows us to un-export DebuggerRunControlFactory in an attempt to
slim down the publicly visible Debugger plugin interface

Change-Id: I0c2e7351ffa7a9d16586172816635be8ff40172e
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-05-29 09:19:16 +00:00
Christian Stenger
5d326c523e iOS: Fix detection of device information for older Xcode
Task-number: QTCREATORBUG-14072
Change-Id: Ia69aebcb4183ccca7ce8d2332b1482cbefba00a7
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-04-21 08:02:09 +00:00
BogDan Vatra
7481bff2b4 Don't allow to run static libs.
Static libs can't be run on Android and on iOS, so we need to filter
them out.

Change-Id: I90b778ffaa5e7d6267cc0e8d753be56bf93007a7
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-03-23 10:48:58 +00:00
Tobias Hunger
fb6d7ce91b Remove some duplicate includes
Change-Id: If7bae084cd34c6fb0fe77f9227d9848517c0e691
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-03-20 14:45:04 +00:00
Friedemann Kleint
991cf84991 Clean exported headers of the Debugger plugin.
Change-Id: I70ca6773e0f6aa6d80a441f8920d7f5d2418e1bf
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-26 14:49:20 +00:00
Christian Kandeler
05f8a2c813 qbs build: Introduce convenience project property sharedSourcesDir.
Change-Id: I69aacc7391e6e25e66eae1fb54b3c1cfb18679ee
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-18 14:49:06 +00:00