aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/api/internaljobs.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Do not leak the build graph locker if project resolving is cancelledv1.7.1Christian Kandeler2017-01-051-2/+4
| | | | | | Task-number: QTCREATORBUG-17543 Change-Id: Ie32f5e9729dc98705b0d0d27839d9544ffd29a43 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Include information on cost of storing the build graph when profilingChristian Kandeler2016-12-091-0/+1
| | | | | Change-Id: I445c0202178906dc6f8b04ff6f8e94f31fc705c4 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Time more operationsChristian Kandeler2016-10-101-0/+1
| | | | | Change-Id: I1aa46693cb71fe284083ee5305ce2650de1307ac Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Improve the TimedActivityLoggerChristian Kandeler2016-10-061-3/+3
| | | | | | | | | | - Get rid of the debug level parameter. Either we want to log the elapsed time or we don't. Enabling timing in verbose mode only is dubious anyway, as the debug output can influence the result. - Log the time in more sensible places. Change-Id: I1ced2a1d30cd015a9562d46079933db5ea69641c Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Update license headersIikka Eklund2016-08-291-14/+23
| | | | | | | | | | Patch-set 2 includes *.cpp *.c Every source file needs to have up-to-date license headers in order to pass ci. Change-Id: Ie6e493097af6f7dd6a8adff170eb856f496e689e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Introduce the --wait-lock command line optionJake Petroules2016-07-141-1/+1
| | | | | | | | | | | | | This allows multiple qbs processes competing for the same configuration instance to be launched simultaneously, and the inactive instances will wait indefinitely for the lock file to be released. This is primarily intended for use by the IDE generator plugins like Visual Studio where the "Build Solution" command builds all projects in the solution in parallel (and this cannot be disabled). Change-Id: I13c37a21dd8386e3dfdab1f769b8242bfcfc2e45 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Stop special casing qbs.buildVariant in command line handling.Jake Petroules2016-06-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces qbs.configurationName, which takes the place of qbs.buildVariant in the command line and acts as a unique identifier for each build configuration, rather than relying on the combination of qbs.buildVariant and the profile name to do so. No longer special casing qbs.buildVariant allows the variant to be decoupled from the build configuration, and allow scenarios where a project may contain products hardcoded for particular build variants, and in future, special debug-and-release builds which create a single framework product containing multiple build variants. Incidentally, this change allows building multiple configurations of the same build variant and profile name combination, since the build configuration is no longer keyed on the aggregate of those values. Building for different profiles with the same configuration name in parallel is now no longer possible, but this is easily worked around by simply specifying different configuration names for such combinations. For example, the following is now possible: qbs \ static profile:a qbs.buildVariant:release project.useStaticLibraries:true \ dynamic profile:a qbs.buildVariant:release project.useStaticLibraries:false [ChangeLog] Each build configuration now requires a unique name, which is specified on the command line in the same place that qbs.buildVariant used to be specified. This allows building for multiple configurations with the same variant. Change-Id: I96ab9fc96861ab7e6a04a7d291a093115c22010e Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge remote-tracking branch 'origin/1.5'Joerg Bornemann2016-06-081-2/+5
|\ | | | | | | | | | | | | | | Conflicts: doc/reference/items/transformer.qdoc share/qbs/modules/cpp/GenericGCC.qbs Change-Id: I45560834560019b18274c373c45651eb8aadd206
| * Fix potential crash in project setup.Christian Kandeler2016-06-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we - held an existing project open (in an IDE) and - changed its build directory and - a second qbs instance also held a project open there and - that second qbs instance used the same profile then we would correctly detect that a competing build graph was already present, but afterwards we would erroneously delete the build graph lock object of the existing project, leading to a double-delete later when the project itself was deleted. Task-number: QTCREATORBUG-16376 Change-Id: Ie6c621f1dab5cc7b7ff97bf6c25d62609dc9eb35 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Replace 'the Qt build suite' with 'Qbs' in copyright notices.Jake Petroules2016-06-061-1/+1
| | | | | | | | | | | | Change-Id: I885d94bb14b325dc36767a840ebdb0be1fb59dd2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Use Qt5-style connectsOrgad Shaneh2016-06-071-18/+18
|/ | | | | | | The heavy lifting was done by clazy. Change-Id: Ibb13c517567b1b32bbda6d26225454d1b003934d Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* take application name into account when locking the build graphJoerg Bornemann2015-04-271-1/+2
| | | | | | | | | | | QLockFile stores the pid and the process name in the lock file. If the process name is different from the process name that currently has this pid, then the pid got reused. In that case we can safely remove the lock file. Change-Id: I99401e4d04c61f84a0039331a4d02a8c5038ce35 Task-number: QBS-773 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* update license headersJoerg Bornemann2015-03-021-2/+2
| | | | | Change-Id: I36d825db3a5ef32c162c3063aab1e8a1f2696f4f Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Update LicenseEike Ziller2015-01-261-6/+6
| | | | | Change-Id: I092fca9f950de1ba38826c33b155f86feae2770b Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* License update.Eike Ziller2014-10-161-7/+8
| | | | | | | Add LGPLv3 option. Change-Id: I8a63ad5e46a2701032b2103f791df4dec5b707e8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Correct handling of project re-resolving with a new build root.Christian Kandeler2014-07-281-5/+7
| | | | | | | | | In that case, we must ignore the existing project. In particular, we must acquire a new build graph lock, as the existing one protects a different build graph file. Change-Id: I6f84d207959c94d082d9966c85d7b86a14ecfeb3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Speed up project re-resolving by skipping the loading from file.Christian Kandeler2014-07-161-24/+32
| | | | | | | | When re-resolving an existing project, the build graph already exists in memory and does not have to be read from disk. Change-Id: Icf5cf7396a859d4ee1c495b8cc4fa7a1ee61ff1d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix race condition in project locking.Christian Kandeler2014-07-161-9/+0
| | | | | | | | We did the unlocking in a different thread, which does not seem like a good idea. Change-Id: Id3427bf52e993011d0f18b0d7f526901e31e9c30 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Put a system-wide lock on the build directory.Joerg Bornemann2014-07-161-0/+10
| | | | | | | | | | | | | So that two qbs instances can't overwrite each other's build graphs. In practice, this is probably most relevant for IDEs, as these hold a build graph for potentially long periods of time. Facilitates QLockFile that was introduced in Qt 5.1. For older Qt versions, no locking happens. Task-number: QBS-162 Change-Id: Ib598617fb1742eb57b6a017f40b9631d1d54e627 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Use the same environment in Loader and BuildGraphLoader.Christian Kandeler2014-07-021-1/+1
| | | | | | | | Otherwise we can get false positives for environment changes, resulting in unnecessary re-resolving. Change-Id: I12c35bca8341a5664c88030c8533979e3751bd1a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add the settings directory to the project setup parameters.Christian Kandeler2014-05-261-0/+3
| | | | | | | | | This way, the settings become available for use in the qbs library, which means it can, for instance, expand the build configuration itself instead of putting this burden onto the API callers. Change-Id: I09e6067990ac2b7c2238951f9759fe52dc51b6f9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove TopLevelProject::platformEnvironmentJoerg Bornemann2014-04-041-9/+0
| | | | | | | | This was a vestige from the ancient and mysterious platform ini files you probably never heard of. Change-Id: I0bcd5b25a2eacbbe5d5d055f9c91d16286800dc2 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Merge remote-tracking branch 'origin/1.1'Joerg Bornemann2014-01-221-1/+3
| | | | Change-Id: I2c4aa7cb7ec7db58577ceac5cb56bc925ae9360f
* Move Qt profile setup into a dedicated library.Christian Kandeler2014-01-101-0/+429
Otherwise all changes to the implementation will have to be duplicated in IDEs. Change-Id: I61e6d4fa1ee9b724eb5d9de9f233dc915a6c8bc3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>