Commit Graph

20 Commits

Author SHA1 Message Date
hjk
2758682723 ProjectExplorer: Move BuildSystem owership to BuildConfiguration
... 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>
2019-11-19 11:05:52 +00:00
Tobias Hunger
09530d6dcc ProjectExplorer: Use RAII pattern for parsing start/stop signalling
Change-Id: I13de537140f265db3e3d0ab1cd924d6897cd90c8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-08-09 12:45:29 +00:00
Alessandro Portale
adf5305af6 AutotoolsProjectManager: Modernize
modernize-use-nullptr
modernize-use-override
modernize-use-auto

Change-Id: I7abab567a6dab1bde93c520aa8746380ae24fda8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-11-04 18:24:31 +00:00
Marco Bubke
b6e12f4a1c Convert macros from plain QByteArray to a vector of structs
The old code model expected the macros as C++ formatted text
("#define Foo 42) but newer targets like the Clang codemodel expect key
value arguments like "-DFoo=42". So instead of parsing the text again and
again we use an abstract data description.

Task-number: QTCREATORBUG-17915
Change-Id: I0179fd13c48a581e91ee79bba9d42d501c26f19f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-14 15:23:56 +00:00
Tobias Hunger
5e81050450 Autotools: Use Qt5 style connects
* Get rid of "slots" from the headers

Change-Id: Ie12f5705a2ca92a431992a45f57193a72ea7032a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-02-10 13:32:58 +00:00
Tobias Hunger
063b9775a9 Autotools: Modernize
* Use pragma once
* Make sure overrides are everywhere
* Clean up code here and there
* Remove useless code from initializer lists

Change-Id: I9c285a803ea36cb32d14b3335757fd4b57f27d02
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-02-04 10:44:54 +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
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Sergio Ahumada
c375436847 Fix some typos
Change-Id: I3be73c2a4d256a0d28e863fd2517a4d7442b34d8
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-03-05 09:39:42 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Sergey Shambir
7688754b37 Autotools: added parsing defines and C/C++ flags from Makefile
Change-Id: I7443ba3ada97e4abac5560bb5399ec96e065acee
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-05-14 16:39:22 +02:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Friedemann Kleint
f1e7fcf64a Clean up includes in autotools-plugin.
Fixing an lupdate warning about cyclic dependencies of
autotoolsbuildsettingswidget.h.

Change-Id: I0e1c721df2c5f70ae9de38dd9bc5a34b63622ba7
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-07-25 10:39:39 +02:00
Erik Verbruggen
3fa55b7ab9 Removed module names from #include directives.
Getting the #include directives ready for Qt5. This includes the
new-project wizards.

Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-15 16:24:46 +01:00
Friedemann Kleint
27211de083 Minor Krazy cleanup in autotools.
Change-Id: I1d955f2b2d6f6f2668156e0f211df37616cfc3e7
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-30 15:59:40 +01:00
hjk
653eaa2f75 autotools: compile fix on windows
Change-Id: I40d525532a784fc9180622910d7c18fcae72ddbb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-30 15:58:27 +01:00
hjk
93a4237602 autotools: minor cleanup
Change-Id: Ic7862a4a97e60ed016a53f5893e03e3f9ec11e53
Reviewed-by: Patricia Santana Cruz <patriciasc@openismus.com>
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-30 15:34:37 +01:00
Patricia Santana Cruz
6445c99ad2 Add AutotoolsProjectManager plugin
Change-Id: Icbc8d105a3ffea2bf705d18e3413f6b3487ccfd3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@nokia.com>
2011-11-30 14:16:12 +01:00