Commit Graph

15 Commits

Author SHA1 Message Date
hjk
3ca8c6a0a5 Meson: Merge toolwrapper and mesontool file pairs
Change-Id: I6383a5ee060957ba133ddf98a1a383bbe2489369
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-07-24 07:17:37 +00:00
hjk
23b31e24bf Meson: Start generalizing again
Change-Id: I9fc18edb0e159c448193b4cc7c4bd82b2d5f409a
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-07-24 07:16:26 +00:00
hjk
ed10d7a449 Meson: Merge ToolWrapper classes
Change-Id: I140088263059944b39c913acd1df07312b249953
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-07-24 07:12:14 +00:00
hjk
36a6fa1664 Meson: Start simplification of tool loading
Change-Id: I5a70c17bd219dc8dc18061842808166b76b26828
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-07-24 06:30:09 +00:00
hjk
3197ef3ea6 Meson: Merge the tool wrapper files
Change-Id: I055006e29ee8c2067275e64043c7a7ffcc460390
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-07-22 12:00:40 +00:00
Kai Köhne
56baf8c058 Remove GPL-3.0+ from license identifiers
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>
2023-01-06 11:15:13 +00:00
hjk
5e786d444d Meson: Flatten directory hierarchy
Keep tests/ and icons/ but put the rest into the toplevel.

The previous setup was so different from the rest of the bunch that
it regularly stuck out in maintenance tasks.

Change-Id: I69821be6268f69682353a388f6bb1fa343215303
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-10-10 06:08:57 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
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>
2022-08-26 12:27:18 +00:00
Marcus Tillmanns
0da5ade118 Meson: Skip tests if meson is not installed
Change-Id: I118e687ff69c264e64e8a018ef6aa131f26463c6
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-08-05 06:44:31 +00:00
Eike Ziller
9091761996 Fix issues with Meson tests
- set temporary directory for launcher
- check for finding meson tool instead of crashing
- use GUILESS_MAIN since it doesn't use gui

Change-Id: I3f8de658d9ccbec3efb260cf2d58e27720e78d47
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-12 11:47:02 +00:00
Jarek Kobus
7958de05f5 Introduce Utils::Singleton
Introduce Utils::Singleton class and
Utils::SingletonWithOptionalDependencies class template
that helps implementing singletons that depend on other
singletons. It's guaranteed that whenever singleton B depends
on singleton A, than A is always created before B is being
created, and that the order of destruction is always
opposite to the order of creation.

Dependencies of singleton are listed as template arguments
for SingletonWithOptionalDependencies class template.
The first argument of SingletonWithOptionalDependencies
class template is always a singleton class itself.

Prepare a common interface for all singleton subclasses:
SingletonSubClass *SingletonWithOptionalDependencies::instance();

Make instantiating singletons and its dependencies thread-safe.

Create singletons on demand (only if some code needs them).
It's not needed anymore to explicitly instantiate
all required singletons in tests.

Make it possible (and thread-safe) to instantiate ProcessReaper
and LauncherInterface singletons in non-main threads.

Make the following dependencies between existing singletons:
   SshConnectionManager depends on:
-> LauncherInterface depends on:
-> ProcessReaper

Change-Id: Iefaacab561c2b3dcf07e7fafbb87339ea6a15278
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-28 10:25:29 +00:00
Christian Kandeler
de8c90e9d9 Meson: Fix autotests
Change-Id: I5f690efe9db19ef8ae6f86ed5556b4939bb52a05
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-09-16 13:26:37 +00:00
hjk
eedb702bb9 Meson: Make spacing and #include ordering a bit more consistent
Not 100%, but a step forward.

Change-Id: I6957edbd24c1652b228a96a68424b857603aae45
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-03 09:18:10 +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
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