Commit Graph

1403 Commits

Author SHA1 Message Date
Eike Ziller
381c5656e7 Merge remote-tracking branch 'origin/4.14'
Conflicts:
	src/plugins/mesonprojectmanager/project/mesonprojectparser.h

Change-Id: Id38d20ce20981dcdc322fe5d1d7647f4bec89d8a
2020-11-13 16:03:26 +01:00
Jarek Kobus
2b414508b7 Remove unneeded includes
Change-Id: I67fee9303509b7080e123a2a5826e200ce498ce2
Reviewed-by: hjk <hjk@qt.io>
2020-11-12 12:14:11 +00:00
Eike Ziller
1d2b5db02f Merge remote-tracking branch 'origin/4.14'
Change-Id: I2ae0eb18782224e48cd20d41907f9dfea6ee1771
2020-11-10 13:42:46 +01:00
Assam Boudjelthia
33b06f5b81 Android: avoid adding ANDROID_ABIS to the project file
Use buildSystem::property()/setProperty() to keep track of the
selected ABI and avoid polluting the *.pro file with it.

Task-number: QTCREATORBUG-24674
Change-Id: I5516a77c9f2d1a8975045e1d7c383e72c52db9d7
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-11-05 17:08:46 +00:00
hjk
d26d9250b2 QmakeProjectManager: Use StringAspect for effective qmake call
... in QmakeStep.

Change-Id: Idf8ef37f99e08cd3462af4e4dd2b1639f82694df
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-11-05 16:08:45 +00:00
hjk
3ab54e91b1 QmakeProjectManager: Use ArgumentsAspect in qmake step widget
Change-Id: I7e12a571841f85f80c6439d5e7e834ff7c53305d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-11-05 14:59:39 +00:00
Nikolai Kosjar
888ea6bbbb CppTools: Take "-include" files into account
Fixes: QTCREATORBUG-20602
Change-Id: Ibfc518fc64ed75f93265db800558ec1d2e424bb4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-05 08:49:24 +00:00
hjk
7add8a81db QmakeProjectManager: Use SelectionAspect in QmakeStep
For the Debug/Release combobox.

Change-Id: I494778c0f633a34a25a97217b94321ef1944e588
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-11-03 11:47:25 +00:00
hjk
045881089f QmakeProject: Don't crash on project import
Amends fc1fc6a07a.

Fixes: QTCREATORBUG-24802
Change-Id: I62e7e0bab82ae1b025c053785b77586aa78bcd1f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-26 16:30:11 +00:00
Christian Stenger
860eeca6c5 QMakePM: Restore old system() handling to old behavior
Parsing qmake based projects without execution of system()
may lead to inexact parse result and can end up with unusable
projects.
Amends dd62254.

Change-Id: I7300a810c82959aab159d2492b4020998d26de38
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-22 08:27:17 +00:00
Christian Kandeler
dd62254e4e QmakeProjectManager: Make "system" execution opt-in
It has too many side effects.
Amends fcd6384f4d.
T_SYSTEM and E_SYSTEM are now treated the same.

Fixes: QTCREATORBUG-24551
Change-Id: Ib6df2762d329f2ddc0dd66190454159d446a9ac9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-10-16 10:40:45 +00:00
Christian Kandeler
76febea8ee QmakeProjectManager: Ensure consistent include path lists
... before and after a build.
The previous algorithm did not guarantee the same order, leading to
failure when analyzing an unbuilt project with clang-tidy/clazy.

Change-Id: I8a700408ca0c23b1b14b47ebfe334a41c52afa5b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-10-14 08:55:56 +00:00
hjk
ab76991286 QmakeProjectManager: Use LayoutBuilder for QmakeStep config widget
Towards aspectification.

This intentionally also removes the extra inner margin in the
widget as a side effect, increasing the similiarity with other
step widgets.

Change-Id: Ic315369479275a317441ff2c5abbec53695102f2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-06 12:59:26 +00:00
Eike Ziller
d323eeec52 Merge remote-tracking branch 'origin/master' into 4.14
Change-Id: I4b37b89cc1dd2c53217579ea554af0fb7994fa7e
2020-10-06 10:24:41 +02:00
hjk
a99127d73b QMakeProjectManager: Do not ask to rebuild too often
Due to the incomplete aspectification here, some of the connections
are set up in createConfigWidget(). Config widgets are created
and destroyed when the build configuration changes, and connections
that did not directly depend on the widget or subwidgets accumulated.

Use the the created widget as guard object to ensure connections
live only as long as the widget.

Task-number: QTCREATORBUG-24725
Change-Id: I4581f98e684ac92fd43ceba598d391c4dc8dbebe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-06 08:21:00 +00:00
hjk
97c6c13dcb ProjectExplorer: Remove BuildStepConfigWidget
After the previous changes it was only an empty wrapper around QWidget.

Change-Id: I58dcd82d8342c7de5e2df537044f6cf3de878a67
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-06 08:06:39 +00:00
Assam Boudjelthia
ee3a0ecb75 Android: add qmake variables to completion assistant
Add Android specific qmake variables to profile completion
assistant.

Change-Id: I1c4c25bfa7481fed511f48360e93fb5996b42401
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-10-05 19:37:17 +00:00
hjk
5d889a4d33 QmakeProjectManager: Add a soft assert
Task-number: QTCREATORBUG-24683
Change-Id: I6c4780a3200eff7c371dd90bb0b441ce84d4b9cb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-10-05 09:15:31 +00:00
hjk
b97b7dc6f2 ProjectExplorer: Move BuildStepWidget::summary etc to BuildStep
The step is the source of information anyway, and available at the
only place of use. No need to copy that over to the widget, neither
for keeping it up-to-date there when the mechanism is already
available in the step itself.

This creates quite some potential for the simplification of
the various createConfigWidget implementations in follow-up patches.

Change-Id: I4474665f194a1ff7c5792ad086ed53c8d3ce13e6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-05 08:16:51 +00:00
hjk
591e93316d Consolidate build/deploystep default display name handling
Use the display name from the factory as default, override if needed.

Change-Id: I03519c998432fea4120b0de8b2fc2686644635f2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-02 13:18:45 +00:00
Eike Ziller
8b031c8c05 Merge remote-tracking branch 'origin/4.13' into master
Change-Id: I3f2a6c553819e992da7e9f538dc44b95b482359e
2020-10-02 10:47:07 +02:00
Christian Kandeler
4c1c11b7b6 QmakeProjectManager: Fix crash on reparsing
After a re-parse, the existing IDocuments need to be updated with the
new QmakePriFile object, as the old one may no longer be valid and thus
cause a crash on the next re-parse.
Amends f3bd07efd1.

Fixes: QTCREATORBUG-24683
Change-Id: Ib03d3005cb7831f1e05cb116aa3cdfe6cf5e72ad
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-09-28 11:29:41 +00:00
hjk
cec468d78a Utils/ProjectExplorer: Move re-usabled bits of aspects to Utils
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>
2020-09-23 07:44:42 +00:00
Eike Ziller
3f42c989ee Fix Qt 6 build of ProjectExplorer and targets & build systems
QStringRef is gone.
qsizetype vs int.
QMultiHash::insertMulti is gone.
QXmlStreamWriter writes UTF-8 by default.

Task-number: QTCREATORBUG-24098
Change-Id: Id217e40a1f17993a84fc725976e9cb84618b0580
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-09-21 11:31:54 +00:00
Eike Ziller
5ad724c61b Merge remote-tracking branch 'origin/4.13' into master
Conflicts:
	src/plugins/qmakeprojectmanager/qmakeproject.cpp

Change-Id: Ieb1c3e946f11d3c4fa1ee6b5afdf83cc532d8aed
2020-09-17 10:28:19 +02:00
hjk
0d185a0ad3 ProjectExplorer: Simplify use of AbstractProcessStep::init()
1. Systematically check for AbstractProcessStep::init() first in
   derived classes.
2. Use setupProcessParameters(processParameters()); by default in
   the base implementation.
3. Drop all re-implementations that are effectively the same.

Change-Id: I0ae54dd4909b354672a63ee56d0b7c2ea0732494
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-09-16 16:16:13 +00:00
Christian Kandeler
f3bd07efd1 QmakeProjectManager: Restore incremental re-parsing
This was broken in commit 37aecdd112, where we overlooked that a special
type of IDocument was used that triggers a re-parse of only the affected
part of the project tree. As a result, all changes to a .pri or .pro file
would trigger a re-parse of the entire project.

Fixes: QTCREATORBUG-24572
Change-Id: I480cff4e53cf86a17e1eaac0eb9b32901bc87051
Reviewed-by: hjk <hjk@qt.io>
2020-09-15 09:19:23 +00:00
Assam Boudjelthia
e9c9440653 Android: allow passing apps arguments via manifest on non-debug mode
Uses 00a1e5da7e1aea373a7e6be1d51e1573ff167dd8.

Task-number: QTCREATORBUG-23712
Change-Id: I9a7e134420b608815589578f3851abf150674fd3
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2020-09-11 10:00:32 +00:00
Christian Kandeler
1e452f1ad3 QmakeProjectManager: Compare the right set of arguments
... when determining whether to re-run qmake.
We need to look at the effective arguments, not the user arguments.
Of course, the whole approach is still a shaky heuristic, but it should
be more correct now than it was before.

Fixes: QTCREATORBUG-24538
Change-Id: I763f8095becacde0f9549890161b8a47c6344b6b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-09-09 11:34:23 +00:00
hjk
61bfd32438 ProjectExplorer: Introduce a ProjectConfiguration::kit() function
For convenience, and use it in some places.

Change-Id: I8f7cb502b37b2fbf4cf2d17cac9c6299558332dc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-09-09 06:27:21 +00:00
Alessandro Portale
a650997448 QtSupport: Add supportsMultipleQtAbis getter
Introduce bool QtSupport::supportsMultipleQtAbis().

Let AndroidQtVersion respond according to the QVersionNumber.

This allows to replace the version arithmetics in several
places with straight forward (and better findable) function calls.

Task-number: QTCREATORBUG-24471
Change-Id: Ib6e39fd6485a54e08ad66f84d4e2582989043419
Reviewed-by: hjk <hjk@qt.io>
2020-09-07 07:10:26 +00:00
Christian Stenger
b7573a7400 QmakePM: Fix possible nullptr access
Amends fc1fc6a07a.

Change-Id: I0a77c3834fc8e68de2f2d3ab379256c7adc00260
Reviewed-by: hjk <hjk@qt.io>
2020-09-04 12:30:38 +00:00
David Schulz
339db00f85 Core: replace QString with Utils::FilePath to get documents
Change-Id: I01777c227398be8bd3bf877c5429b84a75aa361b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-09-04 10:14:14 +00:00
hjk
fc1fc6a07a Qmake: Inline QmakeBuildStepWidget
That's mostly mechanical, except the summary updating part, which
was triggered rather extensively before and is now split into the
actual summary update, and updates related to abi list changes.

Change-Id: I1b691327fcc1d2437d96e893e910a1c65e321506
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-09-02 12:40:47 +00:00
hjk
070e0932c9 ProjectExplorer: Remove redundant MakeStep::{is,set}Clean()
This was only used for setIgnoreReturnValue(), which can be done
directly and also does not need to be stored in the settings.

Change-Id: I7419efe66d164b223463e19c3daf2350b4a2bae4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-08-26 04:51:47 +00:00
hjk
6c785c05ab ProjectExplorer: Remove ProcessParameters::resolveAll()
On all code paths, this was implicit in a ProcessParameters::setCommandLine()
which was on all code paths either called directly immediately before, or as
part of ProcessStep::setupProcessParameters().

With ProcessParameters::setCommandLine() as only user, this could be
inlined there. The effectiveWorkingDirectory() turned out to be out of
place and rather accidentally working there and was moved to
ProcessParameters::setWorkingDirectory().

Change-Id: I634f6086c2324e3cbecd3e5d50e22afc722abd3f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-08-25 14:19:04 +00:00
Eike Ziller
3944162039 Merge remote-tracking branch 'origin/4.13' into master
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
	src/plugins/cmakeprojectmanager/cmakebuildstep.h
	tests/auto/debugger/tst_namedemangler.cpp
	tests/auto/qml/codemodel/check/tst_check.cpp

Change-Id: Iefd5f71c03c0078513b76a92af764a4fb22ee4c2
2020-08-10 15:56:54 +02:00
hjk
6c590531b0 Small Qt 6 migration stuff
- qsizetype vs int
- QJsonValue vs QJsonValueRef
- #include for metatype system

Task-number: QTCREATORBUG-24098
Change-Id: I066d9e3d5c35766b8aa3adc1c5835b23feb20b37
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-29 14:03:19 +00:00
Alessandro Portale
7b6d44a90a Android: Introduce constants for Android ABIs
Avoiding string duplication prevents typo-related runtime errors and
allows an IDE to use find symbol rather than plain text search.

Change-Id: I7fba7c7c5cf90c0b371efce3b575537b2708dd0f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-07-26 05:49:49 +00:00
Assam Boudjelthia
7775334998 Android: regression fix for warning missing ANDROID_ABIS
Ammends 27514fa94d.

Task-number: QTCREATORBUG-23291
Change-Id: Iadf33f9c60a738c9ee4c810bb065667cab29aa92
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-07-23 15:16:03 +00:00
Assam Boudjelthia
27514fa94d Android: Warn if the selected device main ABI is not selected
Task-number: QTCREATORBUG-23291
Change-Id: I2ae13edaee30c6548a37e077c18f508a42b42d25
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-07-23 11:48:51 +00:00
hjk
43b658e9e7 Utils: Drop Utils::SkipEmptyParts again
We require Qt 5.14 nowadays.

Change-Id: Iff245257d3cb19207007c0445ee13814e66152dd
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-21 12:42:27 +00:00
Eike Ziller
32af4d9e70 Fix lupdate issues
Change-Id: I950d2f53fcc03ba447140f3c6957422ca40111b5
Reviewed-by: hjk <hjk@qt.io>
2020-07-17 18:01:45 +00:00
Christian Stenger
9783761df3 QbsPM:QmakePM: Replace QRegExp by QRegularExpression
Task-number: QTCREATORBUG-24098
Change-Id: If561553a6030f8eaedbafbc1b4531a6b63c4aa36
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-07-15 08:21:23 +00:00
David Schulz
2ad3a02150 QMake: highlight REPC qmake variables in pro files
Fixes: QTCREATORBUG-24346
Change-Id: I07b8533b58233f15224341d1e9544f21a4fc2047
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-14 12:43:44 +00:00
hjk
c3ab20ef9c Qmake: Drop use of QTextCodec in pro parser
This follows 42d2d70ab in qtbase.

Change-Id: I519a20421ce452984fa21ec0f988379bed9368d0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-07-11 07:14:31 +00:00
hjk
e1c88116b3 Core/Utils: Migrate further to Utils::Id
The coreplugin/id.h header is kept for downstream for now.

Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
(cherry picked from commit 430a33dcd9)
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-07-06 11:15:18 +00:00
hjk
430a33dcd9 Core/Utils: Migrate further to Utils::Id
The coreplugin/id.h header is kept for downstream for now.

Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-07-06 06:07:13 +00:00
Christian Kandeler
59b84c8d19 Wizards: Update templates in regard to deprecation warnings
The QT_DEPRECATED_WARNINGS macro has no effect anymore, so let's remove
it along with the huge chunk of comments that took up an inordinate
amount of space in the resulting project file. The concise comment for
the QT_DISABLE_DEPRECATED_BEFORE macro is perfectly sufficient.

Fixes: QTCREATORBUG-24244
Change-Id: I549c16c2c037bb64c2833e4807047ab3a8b2103f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-06-30 12:13:41 +00:00
hjk
03838decb9 More QRegularExpression and include for Qt 6
Task-number: QTCREATORBUG-24098
Change-Id: Ia537e26efd3f37319c38d906e569b255768371f9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-06-25 07:13:43 +00:00