aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add atEnd() function to the Process serviceOla Røer Thorsen2019-01-031-0/+6
| | | | | | | | | | | | This makes it possible to use readLine in a while loop until the complete stream is read, even when reading empty lines. [ChangeLog] Added atEnd() function to the Process service, to make it possible to use readLine() in a while loop until the complete stream is read. Change-Id: Ie5f047651977195d6a93c4575bd7a8796b83ab5d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add FileInfo.canonicalPathJoerg Bornemann2018-12-201-0/+13
| | | | | | | | | [ChangeLog] Added the canonicalPath() function to the FileInfo extension. Task-number: QBS-742 Change-Id: I8490b1bbdb3ac4ce84b80e82ca9f37bd2816e150 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge 1.12 into masterChristian Kandeler2018-12-172-4/+5
|\ | | | | | | Change-Id: I44f8e2c5f3fbe8fc67deada65a4136257572239e
| * Fix bogus error about duplicate source filesChristian Kandeler2018-12-132-4/+5
| | | | | | | | | | | | | | | | | | There is no conflict if the same file is pulled in both as a target artifact of a module and a normal source file. Fixes: QBS-1416 Change-Id: Ic7467af5a8728ebb1540381c845ffc0f40e06a9c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Rename PathProbe.pathPrefixes and PathProbe.platformPaths propertiesIvan Komissarov2018-12-101-1/+1
| | | | | | | | | | | | | | | | | | The naming was misleading - prefixes had the same logical meaning as platformPaths, despite the fact completely different PathProbe.pathSuffixes property exists. Change-Id: Ie593b5e03d27de4f8aafed821a3b37cc1b3b0b9e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Support big Qt resourcesJoerg Bornemann2018-11-302-6/+63
| | | | | | | | | | | | | | | | [ChangeLog] Introduced the property Qt.core.enableBigResources for the creation of "big" Qt resources. Change-Id: Ic87aa70132240e67243c1cbe137583a371558261 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | setup-android: Complain about unknown optionsChristian Kandeler2018-11-281-0/+2
| | | | | | | | | | | | | | | | | | ... instead of silently ignoring them. Fixes: QBS-1412 Change-Id: If6687372132a03b3ca04194f7525856eb82b8bb7 Reviewed-by: Erik Schilling <ablu.erikschilling@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Qt.android_support: Fix check for finding the main binaryChristian Kandeler2018-11-281-7/+17
| | | | | | | | | | | | | | | | | | Libraries from the app product should get higher precedence than those from dependencies. Change-Id: Id8bf723fd09e7a798e554f4dbaaae3c73815c1d4 Reviewed-by: Erik Schilling <ablu.erikschilling@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Properly support building Qt apps for AndroidChristian Kandeler2018-11-164-0/+296
| | | | | | | | | | | | | | | | ... via the androiddeployqt tool. Fixes: QBS-991 Change-Id: I4a3abe977fee6a9d1657a4fd6c1b43709429da9f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-11-151-0/+3
|\| | | | | | | Change-Id: I4599ba16caa974c98f694d2d0249bd9522d70b69
| * Fix PlatformToolset for VS 2017 projectsv1.12.2Joerg Bornemann2018-11-151-0/+3
| | | | | | | | | | | | | | | | | | | | The default "platform toolset" is v141, while the VS major version is 15. This case is now hardcoded, because I fail to see a pattern in this nonsense, sorry. Task-number: QBS-1371 Change-Id: I69194a6cbbd072d364b13e69178363bd90632346 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-11-121-0/+2
|\| | | | | | | Change-Id: I0efa484c5010607150e65d9401a0a30781c8c1fb
| * Fix qbs buildChristian Kandeler2018-11-121-0/+2
| | | | | | | | | | | | | | Don't try to bundle libraries of Qt modules that don't have any. Change-Id: I160d5b030db5ecbfa1b8eebb3babdc6ec7f41883 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Fix pluginSupport autotestChristian Kandeler2018-11-121-0/+23
| | | | | | | | | | | | | | | | | | Our test machine does not have the image plugins we hardcoded, so be more flexible. This also tightens the test a bit. Change-Id: I0cc49b3066909ac3e4ec387515e689a00042f4d5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Qt support: Allow users to pull in plugins by typeChristian Kandeler2018-11-0914-10/+136
| | | | | | | | | | | | | | | | | | | | ... and properly set the default values. Fixes: QBS-1409 Change-Id: Ib8f3573fcb48d395d9212ac4b01e5caf910c575f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix qbs buildChristian Kandeler2018-10-311-1/+2
| | | | | | | | | | | | | | Was broken by 38c897a0d4. Change-Id: Id02551fa9e7424075c5a708c3c06a3ce2be5f0e9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Add "show progress" support on WindowsAndreas Zieringer2018-10-302-6/+9
| | | | | | | | | | | | | | | | Should work with all console types. Fixes: QBS-1407 Change-Id: I5144469d70d79a263f9960092abda9a3d83462a1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-10-262-15/+38
|\| | | | | | | Change-Id: I5cf41522f027adac0889dc1df96613012216f092
| * qtprofilesetup: Support platforms where qtmain is called qt5mainChristian Kandeler2018-10-221-13/+28
| | | | | | | | | | | | | | Fixes: QBS-767 Change-Id: I5b00c7d13d59cc4f461b0806f22536e595c0a266 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * qtprofilesetup: Call fillEntryPointLibs() only when necessaryChristian Kandeler2018-10-221-2/+8
| | | | | | | | | | | | | | | | | | | | This function is parameterized by build variant. It should only be called if libraries for the respective build variant are present in the Qt installation. Change-Id: Ie43958c54e16bdfedf60a8c0339098eb8d694165 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Do not try to evaluate the properties of non-present modulesChristian Kandeler2018-10-221-0/+2
| | | | | | | | | | | | | | It's unnecessary and potentially harmful. Change-Id: Iff5a9a52a7aeb518617104c5eaa41cfeededbea5 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* | Prevent "dynamic" values from getting assigned to command propertiesChristian Kandeler2018-10-251-1/+3
| | | | | | | | | | | | | | | | | | | | Values such as artifact objects are not plain data and we therefore must not attempt to make deep copies of them. Catch attempts to assign them to command properties. Fixes: QBS-1404 Change-Id: I1fa02720a3543cd8e2c734ed9437d31b5a573d57 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Executor: Increment progress bar after a rule's transformers are doneChristian Kandeler2018-10-224-2/+30
| | | | | | | | | | | | | | | | | | ... rather than after the prepare script has run. This gives a more realistic estimate on average. Fixes: QTCREATORBUG-18523 Change-Id: I61214903936f964e060b92238d5644f0a8414539 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-10-195-13/+29
|\| | | | | | | Change-Id: Id6014173f52d07f1e7c15b19ddf3876bc95708a5
| * qmake build: Opt out of qtquickcompiler functionalityChristian Kandeler2018-10-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qtprofilesetup library contains a resource file with JavaScript sources. Now if "CONFIG += qtquickcompiler" is set globally, as it happens by default in Qt Creator, qmake believes that we want to compile the js files, which leads to disaster. Arguably, Qt should ignore the qtquickcompiler CONFIG value if the product does not pull in QtQml, but until that happens, let's force- disable the qtquickcompiler. Fixes: QTCREATORBUG-21340 Change-Id: If4802277ab66b550b0c88e5678cadf59a32e68d2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * qtprofilesetup: Understand the mkspec prefix "mingw"Christian Kandeler2018-10-184-13/+27
| | | | | | | | | | | | | | E.g. Fedora provides "mingw-w64-g++". Change-Id: Ife197baa8ddd1b364025056b1ec7895a0b60d5dc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-10-127-42/+191
|\| | | | | | | Change-Id: I96c735aeda89e02f1fa9107ecfc10ebf4b554dbc
| * libqtprofilesetup: Try to find the library when .prl file is missingChristian Kandeler2018-10-121-10/+27
| | | | | | | | | | | | | | Task-number: QBS-1399 Change-Id: Icf2cf11cf50560cc2229240a592d477a39b69d7a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Remove bogus assertion from Properties item handlerChristian Kandeler2018-10-111-1/+0
| | | | | | | | | | | | | | | | | | It does not appear to serve a purpose, and it prevented deriving from the Properties item. Change-Id: Icf71e3358299ea7a0f697637967e65dd0fb9b743 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Android support: Adapt to changes in newer revisionsChristian Kandeler2018-10-111-4/+25
| | | | | | | | | | | | | | | | Revision 17 dropped some architectures, revision 18 removed GCC. We also missed some earlier changes to clang-related paths. Change-Id: Ie2fa1891f7f4de28e18ea6caadce9eac964bb523 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * libqtprofilesetup: Properly handle quoted paths in .pri filesChristian Kandeler2018-10-111-1/+29
| | | | | | | | | | | | | | Fixes: QBS-1399 Change-Id: I52e93a1d80203337c9cedbc09386b0c6c5334f91 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Qt templates: Take sanitizers into accountChristian Kandeler2018-10-091-0/+14
| | | | | | | | | | | | | | | | | | | | If Qt was built with e.g. address sanitizing, then code linking against it should also have it enabled. Otherwise applications will not run out of the box. Change-Id: I25360d72073499a10ba84d84a47e539f39baf318 Fixes: QBS-1387 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Persistence: Remove template specialization for time_tChristian Kandeler2018-10-081-14/+0
| | | | | | | | | | | | | | | | | | | | It does not appear to be necessary, and it can conflict with other partial specializations. Change-Id: Ia51d967d8610ac62a9c6ebe28847589c8eb77304 Fixes: QBS-1395 Reviewed-by: Vadim Zhukov <persgray@gmail.com> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
| * MSVC: Add support for the Visual Studio 2017 Build ToolsChristian Kandeler2018-10-082-12/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This entails: - Auto-detection: The Build Tools no longer have an entry in the registry; use the vswhere tool instead. - Unset the VSINSTALLDIR environment variable before calling the vcvarsall.bat script, as this variable can confuse the msbuild.bat sub- script if it is set. - Look for the base include directory two levels above the directory under which cl.exe is located. Change-Id: Id8f7976e5f41015e59850d3ed68fa81b6ce701a2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | File existence check on Flatpak and OSTreePier Luigi Fiorini2018-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OSTree uses mtime 0 for all checkouts in order to maximize sharing of objects. (i.e. two identical source files with different mtimes should result in the same hardlinked file in the ostree checkout) However Qbs thinks the file doesn't exist with mtime 0 so we need to rely on a different way for OSTree. OSTree nowadays is not only used by Flatpak, but also some Linux distributions like Fedora Silverblue and QtOTA itself. Change-Id: Ia2efc269dc6eb1862b4015bdcce7f9207f3a5efa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Qt templates: Do not add "/Zm200" flag for MSVCChristian Kandeler2018-09-061-1/+0
| | | | | | | | | | | | | | | | | | Qt used to do that at some point, but that was for historical reasons, and is not done (or needed) anymore. Fixes: QBS-1383 Change-Id: Ifb430997acba2ee6dfef3bd185280eb8adb2c526 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Fix potential dereference of Artifact null pointerChristian Kandeler2018-09-051-1/+1
| | | | | | | | | | | | | | This amends 10b8b75f42. Change-Id: I50dcfb8a79cd3a1a7c7baf4b34d15dda7035695a Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Make failure to store the build graph a proper errorChristian Kandeler2018-09-051-1/+4
| | | | | | | | | | | | | | | | If we cannot store the build graph, then that's a hard error. It does not make sense to just emit a warning. Change-Id: Ia4a586c80354266e61a0842b00197eae466c9749 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Fix memory leak in RuleNodeChristian Kandeler2018-09-053-5/+12
| | | | | | | | | | | | | | | | | | When we introduced our "dummy artifact" singleton, we forgot that it gets stored and consequently needs to get deallocated manually in subsequent qbs invocations. Let's use a null pointer instead. Change-Id: If19c6faa46cfcba60e24c84bfd095ade94546dbb Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-09-047-21/+26
|\| | | | | | | Change-Id: Ia115255ae46772a83c1196fbe291ff295927ee92
| * Fix over-eager sanity checkv1.12.1Christian Kandeler2018-09-041-5/+9
| | | | | | | | | | | | | | It could trigger on legal constructs. The patch amends 9c1aa4ece1. Change-Id: I31eab78fdb58262f2e4935f4eebf4023e4a4adc0 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
| * Fix invariant in the RequestedArtifacts classChristian Kandeler2018-09-044-13/+14
| | | | | | | | | | | | | | | | | | | | If an artifact map is requested a second time, we need to update the set of all tags if the artifacts map has changed in the meantime. This fixes an assertion in the sanity checks. Change-Id: Iacf8d4376c7a3a356428cc7eb508dbd22e945a8c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
| * Executor: Fix invalid assertionChristian Kandeler2018-09-031-1/+1
| | | | | | | | | | | | | | | | An artifact whose alwaysUpdated property is false does not need to exist and is therefore not required to have a valid timestamp. Change-Id: I642349c49a53e6e45d6b09d1acc87f4c9a0edae9 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
| * ModuleLoader: Fix memory leakChristian Kandeler2018-09-031-2/+2
| | | | | | | | | | | | | | One of the allocations was not exeception-safe. Change-Id: Ib367f9f2e5e65d0813465d5dcbf9dc779418bdfc Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Filter references to importingProduct from exported list propertiesChristian Kandeler2018-09-042-10/+21
| | | | | | | | | | | | | | | | It's just a heuristic, because we don't have access to single elements of JS arrays, but it should cover the most common cases. Change-Id: I02f9ff215394d108f7ba52662eff7b4f5e8e1a62 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-08-316-22/+31
|\| | | | | | | Change-Id: I745a07a3b25abd6c89afcd3b2199119a751e8a0c
| * Store product names in ExportedModuleChristian Kandeler2018-08-315-19/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | ... rather than product pointers. ExportedModule objects can be stored in Transformers, which potentially outlive the referenced products. Alternatively, we could update the product pointers during change tracking, but that would be tedious and error-prone. [ChangeLog] Fixed possible crash on storing a build graph after re- resolving. Change-Id: I09bcf638a17da410198524858eb4c1bda59bebcb Reviewed-by: Christian Stenger <christian.stenger@qt.io>
| * Fix potential inconsistency in Artifact dataChristian Kandeler2018-08-102-4/+4
| | | | | | | | | | | | | | | | If safeConnect() returns false, we must not add that "child" to the list of children added by scanners. Change-Id: Icbb1b2d14d99f002e2370ee2bda25daafb0398b2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | corelib: Apply modernize-use-nullptrAlessandro Portale2018-08-2016-37/+41
| | | | | | | | | | | | | | Use nullptr instead of 0. Change-Id: Id5b7933844730e244a2dcf3fcebf24f9f048047f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | corelib: Apply modernize-use-overrideAlessandro Portale2018-08-2017-68/+73
| | | | | | | | | | | | | | Add overrides to function, except for destructors. Change-Id: I1a1337b01dfef81b74ba56c5f00bf4d4cfc10935 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>