summaryrefslogtreecommitdiff
path: root/src/plugins/ios/iosrunconfiguration.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Utils: Rename qtcprocess.{cpp,h} -> process.{cpp,h}Jarek Kobus2023-05-041-2/+2
| | | | | | | | Follows QtcProcess -> Process rename. Change-Id: I97235a9a40cb7fd52944515b7ab878d96528f919 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Layouting: Make aspects operate on parent items, not LayoutBuilderhjk2023-05-031-2/+2
| | | | | | | LayoutBuilder is meant to be an implementation detail nowadays. Change-Id: I777ab934d3d405873e819eeddd27428d8c652f9a Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Utils: Flatten LayoutBuilder related hierarchieshjk2023-01-201-1/+1
| | | | | | | | | Originally the idea was to only expose LayoutBuilder, but we are getting more and more related items. Be consequent now, and have everything in Utils::Layouting, but not in nested classes. Change-Id: Ic0f98595882e5c60a25c30ec52df4a0ea79bc0ca Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* iOS: Tr::trhjk2023-01-161-13/+15
| | | | | Change-Id: I547af218546927622414999e5b9019ab62916e7e Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* iOS: use dedicated classes to create run workershjk2023-01-111-5/+3
| | | | | | | Change-Id: I3ba7b75edf69b9cf88726132f154de5c4cc7ca7b Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Remove unused includes of QFormLayoutJarek Kobus2022-11-181-1/+0
| | | | | | | Change-Id: Ia877cb57037342f2a7b332b29d9cb45e9b01c4bc Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
* Use SPDX license identifiersLucie Gérard2022-08-261-24/+2
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Drop Qt5: Android, IOS & WASM: Get rid of QOverloadJarek Kobus2022-07-201-1/+1
| | | | | | | | | | Add a context object into some lambdas. Change-Id: I72631aeb36703f8f335f3819796fb52148f1b377 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Merge remote-tracking branch 'origin/8.0'Eike Ziller2022-06-021-1/+1
|\ | | | | | | Change-Id: I024823b6667947895eff7570286cc11ee09d3e1d
| * ProjectExplorer: Make target device for executable aspect explicithjk2022-06-021-1/+1
| | | | | | | | | | | | | | | | | | Just run and host is not enough, build device is needed, too. This fixes the MakeInstall step for remote linux. Change-Id: I3ec797379b7d0d5842780d505d8b87a91286e460 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | ios: Remove foreach / Q_FOREACH usageArtem Sokolovskii2022-06-021-1/+2
|/ | | | | | Task-number: QTCREATORBUG-27464 Change-Id: If29d2960692c42456967025d60e6d6d7ddd09928 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils: Pass MacroExpander to ArgumentsAspect constructorhjk2022-05-201-1/+1
| | | | | | | | | | | | | In the past we wanted to keep the aspect constructor simple but it turned out that exceptions were needed and accumulating, so those are likely here to stay. By passing also the MacroExpander to the ArgumentsAspect constructor allows other single-purpose warts like the ProjectConfiguration::doPostInit() machinery can be removed. Change-Id: I148b0ca1ab0740270eecd0d3134620de65a86d4f Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* ProjectExplorer: Shift full FilePath creation into Executable aspecthjk2022-05-181-2/+2
| | | | | | | | | | Less need for correction: When a target is given, the executable produced by the aspect will be on the target device. Change-Id: I86c38e9f9fa5b4d4fe9b2ef7f21a0b3aa5b28670 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Ios: Move runControl's runConfiguration calls further uphjk2022-04-271-26/+19
| | | | | | | | | | | The data is now pulled out of the runconfig directly instead of relying on the indirection using the runconfig pointer inside RunControl. This is only barely better, but gets rid of one direct user of RunControl::runConfiguration(). Change-Id: If93576ba25ea9f3ddbeae2535217f5c2f361eaf6 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* iOS/CMake: Fix running non-Xcode targets and targets in subdirectoriesVladimir Serdyuk2021-09-101-21/+76
| | | | | | | | | | | | | | | | Improve support for running iOS bundle built with CMake introduced in 3a294f670dae21d3ee284c054e335d2776182998. Currently it supports only Xcode generator and does not work if target is created in a subdirectory. This patch adds support for non-Xcode generators (tested with Ninja) and targets created in a subdirectories with any generators. The solution is not pretty due to the need to keep qmake compatibility. Would be glad to refactor if there's more correct approach. Change-Id: Ieaf7e3186ab55cadc643d9bd3d94442f9ac72228 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils: Consolidate LayoutBuilder interface a bithjk2020-09-241-1/+1
| | | | | | | | | | | | | - the var args template for addItems was overkill creating a lot of instantiations. Use a temporary list instead. - allow default constructed LayoutItems to be used for an empty cell, avoiding the use of a QLabel with empty text - add an addRow({...}) overload as convenience shortcut for .startNewRow().addItems({...} - rename startNewRow() to finishRow() Change-Id: I6d49dacbac3d7acf140ca526884ba1ceeeca2e0d Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils/ProjectExplorer: Move re-usabled bits of aspects to Utilshjk2020-09-231-2/+3
| | | | | | | | | | | Classes involved are BaseAspect and some derived classes, LayoutBuilder and VariableChooser. This is mostly mechanical, with various include/using changes to make it compile. Change-Id: I624a457f3555f102e541c4c71e33a9423af32250 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: Introduce a ProjectConfiguration::kit() functionhjk2020-09-091-8/+7
| | | | | | | For convenience, and use it in some places. Change-Id: I8f7cb502b37b2fbf4cf2d17cac9c6299558332dc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Rename Base*Aspect to *Aspecthjk2020-08-141-1/+1
| | | | | | | | | In most cases they are used directly, so there's not much Base* in that. Added the old name as alias as porting help for a while. Change-Id: I494a8a560b8996bcf74915ea3570b504df6a6b4c Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Core/Utils: Migrate further to Utils::Idhjk2020-07-061-4/+4
| | | | | | | The coreplugin/id.h header is kept for downstream for now. Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Utils: Introduce FilePath::operator/(const QString &)hjk2020-04-091-1/+1
| | | | | | | | | Including some random uses. This mimics std::filesystem::operator/(std::filesystem::path). Change-Id: I0b0f5cf0d962fd33d4cbb9be96645a0b4a21ee03 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: Replace RunConfiguration::doAdditionalSetuphjk2019-12-171-5/+0
| | | | | | | | | ... by an explicit update() call. This is what effectively done in most cases, and should be harmless and reasonably cheap in most other cases. Change-Id: I323112ec7cdbccf19050ac54466d8e1d97a0516e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* iOS: Call deviceTypeAspect->update from any updatehjk2019-12-171-2/+2
| | | | | | | | | While triggering unncessarily in some cases now, the function is cheap and moving the call out of the way will allow for removing RunConfiguration::doAdditionalSetup() later. Change-Id: I06961ca43e6e56ebd16bf3c04e8ce0a4478494ba Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* iOS: Use new central RunConfiguration::updatehjk2019-12-041-13/+11
| | | | | Change-Id: If19926aac16b501aee7a1117c7915f915af061fc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Make enabled state updating part of runconfig updateshjk2019-12-041-1/+1
| | | | | | | | | RunConfiguration::update() is becoming a central place acting on requests to act on interesting changes, triggering notifications to "the outside" from there is natural. Change-Id: I159cb548c159a607e2628a178362987fb37b59e3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Move BuildSystem owership to BuildConfigurationhjk2019-11-191-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... or Target. This patch moves build system from conceptually "one per project" to "one per target (i.e. per project-and-kit)" or "per BuildConfigurations" for targets where the builds differ significantly. Building requires usually items from the kit (Qt version, compiler, ...) so a target-agnostic build is practically almost always wrong. Moving the build system to the target also has the potential to solve issues caused by switching targets while parsing, that used Project::activeTarget() regularly, with potentially different results before and after the switch. This patch might create performance/size regressions when several targets are set up per project as the build system implementation's internal data are duplicated in this case. The idea is to fix that by sharing per-project pieces again in the project implementation once these problems occur. Change-Id: I87f640ce418b93175b5029124eaa55f3b8721dca Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* LayoutBuilder: Allow for more compact code at calling sitesChristian Kandeler2019-11-071-2/+1
| | | | | Change-Id: I12bb6dbfc138e03138b9a74d36e864d8ea36092f Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Prepare more flexibility to aspect layoutinghjk2019-10-181-5/+6
| | | | | | | | | | | | | | | | This hides the explicit use of a QFormLayout from the aspect interface in a new LayoutBuilder class. That currently works only on a QFormLayout in the back, but opens the possibility to use e.g. a QGridLayout as use on the Kits and some option pages. The aspects now only announce sub-widgets they like to add, actuall positioning is does by a new LayoutBuilder class, also cramming several widgets in an hbox in the right column of the QFormLayout is done there. Change-Id: I2b788192c465f2ab82261849d34e514697c5a491 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* iOS: Avoid double-indirection between DeviceTypeAspect and run confighjk2019-08-301-2/+2
| | | | | | | No need to leave the aspect context. Change-Id: I96a93f7c85d8bbb1fdc28352a4c70a29bc510e4c Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* iOS: Remove unused qtsupport includeshjk2019-08-141-2/+0
| | | | | Change-Id: I0f5c867e712d152377d05c3e4105e7705e7a4547 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils/all: Create an OutputFormatterFactoryhjk2019-08-131-3/+0
| | | | | | | | | | | Essentially following the scheme used for the various project configurations. This makes it possible to construct OutputFormatters by Id only, potentially reducing hard plugin dependencies and opening the road to have several output formatters per RunConfiguration/Outputpane/... Change-Id: I4b5fb6fb6be8b0d9a0859f178bb0effc3398b09e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* iOS: Share code for simulator display nameEike Ziller2019-08-121-3/+7
| | | | | Change-Id: Iecfaa43aefc7ed783d4149dec008330ee5c124e9 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* connect() to ambiguous signals/slots: Replace static_cast with QOverloadAlessandro Portale2019-05-281-1/+1
| | | | | Change-Id: I473d7a2a16509cee944a2a21b022a3f6f02cfd8d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Utils: Rename FileName to FilePathhjk2019-05-281-4/+4
| | | | | | | | More in line with QFileInfo terminonlogy which appears to be best-of-breed within Qt. Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* iOS: More FileName::appendPath -> pathAppended changeshjk2019-05-171-9/+8
| | | | | Change-Id: I3db6b1778e6e47e26e243fb2609c481651aa91fe Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Ios: Remove direct compile time dependency of IosRunConfig on qmakehjk2019-05-061-17/+7
| | | | | Change-Id: Ieb0cbc71b525972afb66883b010cbf389657c406 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Remove RunConfiguration::canRunForNode()hjk2019-02-261-5/+0
| | | | | | | | | | | | | All implementations that were returning true effectively did that in case of node->buildKey() == rc->buildKey(), either directly or in disguise of qmake's projectPath, so this is the check that is used now in the two places where this is used. The new global has the theoretical potential of return true in cases where it did not before. Change-Id: Ic5829de5fef0f9a04d516a3d9207685055823775 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Rename KitInformation to KitAspectChristian Kandeler2019-02-111-7/+7
| | | | | | | | | | | The name "KitInformation" does not properly convey the fact that it represents a certain *aspect* of a kit. The same goes for "KitConfigWidget", which in addition was inconsistent with "KitInformation". We now use "KitAspect" and "KitAspectWidget". Change-Id: I9804ee4cedc4d61fad533ea1dd4e4720e67fde97 Reviewed-by: hjk <hjk@qt.io>
* QmakeProjectManager et al: Reduce use of qmake specific logichjk2018-12-141-18/+5
| | | | | Change-Id: I8f7e5d822ccb27e3ec241b814ec67aed7fe7539f Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* iOS: ModernizeAlessandro Portale2018-11-131-1/+1
| | | | | | | modernize-* Change-Id: I64d2bb4320c9b444bc13e90099600628eac1f5a6 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* ProjectExplorer: Rename 'extraAspect' to 'aspect'hjk2018-10-021-1/+1
| | | | | | | | | Using aspects is the standard pattern nowadays, there's nothing 'extra' to them anymore. Change-Id: I446f9d7b1db58a4899e5e44df33ce51f655e7be4 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* iOS: Remove unused IosRunConfiguration::deployStephjk2018-09-261-7/+1
| | | | | Change-Id: I5e2ceacf02c0f19b605d134a0e7f0a13d5426fa2 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* iOS: Move towards more aspect usehjk2018-09-261-49/+51
| | | | | | | Put the remaining device related pieces into a new IosDeviceTypeAspect. Change-Id: Ia1ce2002edebedc2d409edc1144ade0ffe24a084 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* iOS: Use an aspect for the executablehjk2018-09-111-8/+6
| | | | | | | More standard pattern nowadays. Change-Id: I1237555b44fb0a9a6faca086254c49b70c39c3b6 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* ProjectExplorer: Compactify runconfiguration aspect creationhjk2018-09-041-1/+1
| | | | | Change-Id: I12394d3df8deb7666be6ac3f112082f915454e82 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Unify key names for various fields in stored RunConfigurationshjk2018-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This replaces various versions of the key name of the arguments, working directory, use terminal and use dyld image suffix fields by unified versions ("RunConfiguration.Arguments", "RunConfiguration.WorkingDirectory", "RunConfiguration.UseTerminal", "RunConfiguration.UseDyldImageSuffix"). The different names for the fields are technically not needed (as proven by several cases that already now used the same key), partially outdated ("Qt4ProjectManager.MaemoRunConfiguration.Arguments") make RunConfiguration constructors less uniform and more complex than needed. The "RunConfiguration." prefix in the new names is not needed, but used by several other settings, so having it there looks more uniform now. In (the unexpected case) that different keys would ever be necessary, the default key name could still be overridden by using setSettingsKey from user code. Change-Id: Ifb74ad74e0a9c724c8bf5e71e1bb2424d5d1831b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* iOS: Fix incorrect device type in run configurationVikas Pachdha2018-05-161-8/+16
| | | | | | | Task-number: QTCREATORBUG-20413 Change-Id: I5b96273161401e83567da80770f0f1c3482b7311 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* iOS: Use run arguments more directlyhjk2018-05-081-6/+0
| | | | | | | | This also treats the arguments list as an arguments list for running, not as a single argument. Change-Id: Ia95e02c6324947081147b8bf8084cdd3a7d1eaf0 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* iOS: Remove RunConfigWidget base from IosRunConfigurationWidgethjk2018-05-081-7/+1
| | | | | | | | Despite its name, it's not the base for RunConfig (main) widgets, but one for the "true" extra aspects (debugger, valgrind, perf, ...) Change-Id: I45f3339ab2620fe4c55d77bd464f7770b51c30dd Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>