Commit Graph

288 Commits

Author SHA1 Message Date
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
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
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
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
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
Eike Ziller
6477a07654 Merge remote-tracking branch 'origin/4.13' into master
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/clangtools/virtualfilesystemoverlay.h
	src/plugins/mesonprojectmanager/project/buildoptions/mesonbuildstepconfigwidget.ui
	src/plugins/qmldesigner/designercore/model/abstractview.cpp

Change-Id: I5013bd8fdd28d79cdea74380bec01d4c106adfaf
2020-08-31 14:49:19 +02:00
hjk
a981df3bf6 More namespaced Qt
Amends b41ea23233.

Missed that because the file is gone in master.

Task-number: QTCREATORBUG-24544
Change-Id: I7e5948d564c370f9ed197d999778151f2fe61b38
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-31 07:06:14 +00:00
hjk
cef1297504 Meson: Fully inline MesonBuildStepWidget
Next step in aspectification.

Change-Id: I9718d7ca763008fa040371d5b863b8604901adb7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-28 14:19:10 +00:00
hjk
b41ea23233 Meson: Compile fix for namespaced Qt
Task-number: QTCREATORBUG-24544
Change-Id: I5a6ff7f561aca0b967471f4532e32a05077e3939
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-08-28 09:09:46 +00:00
hjk
29a9565c89 Meson: Start aspectification of NinjaBuildStep
First step is to inline mesonbuildstepconfigwidget.ui.

As side effect, don't skip row 0 in the form layout and drop the intermediate
QFrame/QVBoxLayout level and insert the searchable wrapper directly.

Change-Id: Ibf2e348b2990ba48126ad7b92e98d0bcd8116196
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-26 08:52:25 +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
hjk
89e7e5ff7f Meson: Use new AbstractProcessStep convenience functions
Change-Id: I6583a4b83f638d30cab72f395a1300aead1e38e7
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-18 11:33:53 +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
9c930ac744 Meson: Cleanup mesonprojectplugin.*
Some unnneded code + final.

Change-Id: Ied2a29d20c624b8e5e2eefb56253b0412554ad44
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-06 07:47:43 +00:00
Alexis Jeandet
4dfb6f8c74 Meson: Add file watcher to keep QTC project in sync with introspection data
The most common case is when building triggers a new configuration process
which changes introspection data.

Change-Id: I7b23df4089898bb66a634b29809775d26011b315
Reviewed-by: hjk <hjk@qt.io>
2020-08-06 07:44:03 +00:00
hjk
996f490e97 Meson: Do not use QFuture implicit conversion
QFuture::operator T() will be removed with Qt 6

Task-number: QTCREATORBUG-24098
Change-Id: Iec7d8d95ab965867e8fa5ddaac496a4129ed08a9
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-31 11:19:15 +00:00
Christian Kandeler
bed084bd74 qbs build: Fix meson autotests
Change-Id: If2f57ac6fd622dae69a736a89d90f76c7653eee0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-24 12:15:38 +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
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
Eike Ziller
1de74cceab Merge remote-tracking branch 'origin/4.13'
Change-Id: I015bac0cccdf466a923c706abdedd8bd8800b0cd
2020-07-06 10:30:54 +02: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
Leena Miettinen
3650dd8b42 Meson: Fix UI text capitalization
Change-Id: I6f2efde74f3ca899487b456e7a28d0eef72c5dfa
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-07-02 11:10:30 +00:00
Christian Kandeler
e9fed0e536 Meson: Fix build with older GCC
Change-Id: I3a3ed1ea65e066e73d3cabb29a8858677197f18f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-06-30 12:12:51 +00:00
Alexis Jeandet
bce43c15af Meson: Trivial fix for tests
Meson sample folder was renamed without updating tests.

Change-Id: I95b984b6d18a43e0f570368b76b669376fff4f0e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-06-29 15:25:33 +00:00
Alexis Jeandet
8a2cb794b9 Meson: fix broken project tree on windows
Change-Id: I88d0e5b6f1547d5fa6fe832d26bafee59e535a4b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-06-29 09:12:13 +00:00
hjk
0283c5cab9 Meson: Adapt to FileName deprecation
Change-Id: I68bc2c7532f74b0377a8030efbaa59abcfccec45
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-06-26 08:28:13 +00:00
Eike Ziller
ba5b1fc8ab Fix filtering in various hierarchical views
The intermediate "category" nodes where never filtered out.

CategorySortFilterModel was changed to use filterRegularExpression() and
setFilterFixedString does not set that (it only affects filterRegExp()
which we need to get rid off).
Set a regular expression directly instead of a fixed string.

Amends 47e576528e

Change-Id: I6f844027b83d66ca2d5088d83e6e84b01b9eda45
Reviewed-by: hjk <hjk@qt.io>
2020-06-22 12:23:12 +00:00
hjk
beee392dd8 ProjectExplorer: Consolidate RunConfigurationFactory::ids
It was already only one id string with two names. Since it is not
an id for the factory but the id of the created run configuration,
settle of  runConfigurationId() as accessor.

The factory and id fields in RunConfigurationCreationInfo were
redundant. factory always implies (runconfiguration)id (but not
necessarily the other way round, in theory different factories
are possible for the same runconfiguration type for different
devices). So drop the id field here.

In one case now factory pointers instead of ids are compared, but
this is neutral there as this happens in a context of a fixed Target,
device and project are fixed there, so id and factory are equally
unique.

Change-Id: I859aa91486a2dd4abfc7369540a3322d6ec6260d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-06-15 12:13:38 +00:00
Orgad Shaneh
60dab96d39 Meson: Fix issues reported by Coverity
Mostly uninitialized members, and one use-after-free.

Change-Id: Idfc9b0f39733e87e22a97d741cb261e1b09a8815
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-06-12 09:42:02 +00:00
Eike Ziller
5fcbc55c2c Meson: Hopefully final build fix for older GCC
Amends 77d7bb5014.

Change-Id: I94df369cd8aae7d978ede631103199a3a7cb5b26
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-06-10 19:36:03 +00:00
Eike Ziller
228568af7a Meson: More build fixes for older GCC
Amends 77d7bb5014.

Change-Id: Ib55feb37db1c66ca162e097fdcab7fe6ad538cf2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-06-10 11:49:09 +00:00
Christian Stenger
43b6b3d1c8 Meson: Fix compile for gcc 5.3
Amends 77d7bb5014.

Change-Id: Ic613e2b9ddcc0e4b86ed78ddc997c7c40120316c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-06-10 10:31:06 +00:00
Christian Stenger
f1b7fd81f5 Meson: Fix compile for gcc 5.3
Amends 77d7bb5014.

Change-Id: I8aca3c3a95890ec794a8f0f5cadbc6d726559f49
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-06-09 06:05:06 +00:00
Christian Stenger
059c8edf21 Meson fix compile
Amends 77d7bb5014.

Change-Id: I5c0cb8ed10d70795408236acb240c662d7eddbbb
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-06-09 05:52:56 +00:00
Christian Stenger
e19f8899f5 Meson: Fix compile
Amends 77d7bb5014.

Change-Id: I86bae4f0d0df79f1941e5ab6b4ef097d72a505ed
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-06-08 11:29:02 +00:00
Christian Stenger
c88ea7db8f Meson: Fix compile with gcc 5.3
Amends 77d7bb5014.

Change-Id: I1f67754b0a92200d4e526d27aa9ab310625719c0
Reviewed-by: hjk <hjk@qt.io>
2020-06-08 11:21:39 +00:00
Alexis Jeandet
77d7bb5014 Meson build plugin initial support
Most basic project management is implemented:
- Project config/build
- Build options accessible to user
- Lists most build targets
- Meson and Ninja added to kit setup
- Basic project file tree with files known by Meson
- Some basic meson and ninja process output parsing
- Some project templates

Missing features, that will come later:
- Configurable project tree layout
- Locators for Meson
- Build importer
- Access to Machine files for better user fine tuning
- ...

Fixes: QTCREATORBUG-18117
Change-Id: I2811e71562c113fb0fc6b6177bcf0698fa71ef63
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-06-08 09:55:17 +00:00