aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* BuildGraphLocker: Include 5.7.0 in versions that have QTBUG-533921.5Orgad Shaneh2016-07-131-2/+5
| | | | | | | | It was fixed following v5.6.1, but was not merged into 5.7.0, only 5.7.1 will contain the fix. Change-Id: Iaeb300a1b2eb93c4984ed39439903773736201f3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* FreeBSD fix: change order of includesRalf Nolden2016-07-081-3/+3
| | | | | | | | | If <sys/user.h> is included before other system includes, compile errors for missing types appear on FreeBSD 9 and 11. Tested compiling on FreeBSD 9 and 11 with 1.5.2 packages in poudriere build jails. Change-Id: I3669a14c01fb8d11f14e103c008f6f9cb33f7307 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Do the OS X to macOS rename.v1.5.2Jake Petroules2016-06-2758-146/+160
| | | | | | | | | | | | | | | | | [ChangeLog] The "osx" value in qbs.hostOS and qbs.targetOS has been replaced with "macos". For backwards compatibility, qbs.hostOS will still contain "osx" in addition to "macos", and an error will be printed if qbs.targetOS contains "osx" but not "macos". Specifying "macos" without "osx" is allowed. These checks are subject to be removed in a future version of qbs, so update your hostOS and targetOS checks accordingly. [ChangeLog] cpp.minimumOsxVersion has been deprecated and replaced with cpp.minimumMacosVersion. cpp.minimumOsxVersion is subject to be removed in a future version of qbs, so update your projects accordingly. Change-Id: I479891829dff6eb6750cb2a04e1395f085896f63 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Docs: List the supported property types.Christian Kandeler2016-06-241-0/+42
| | | | | | | Task-number: QBS-983 Change-Id: Id0bd4a91f6afbe04621cfff28b0ef43dcfeee69b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Respect the "active file tags" build option also when installing.Christian Kandeler2016-06-174-2/+13
| | | | | | | | Otherwise, we would potentially try to install artifacts that haven't been built yet, causing invalid error messages. Change-Id: I5e8443e477ae767aeb6846de29dd8a3bd98b9ff5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Docs: Clarify the connection between file tags, rules and product type.Christian Kandeler2016-06-162-2/+32
| | | | | | Task-number: QBS-984 Change-Id: I4324e387ec4124f3f5f638ab8d627fc33f6f21a9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Prevent users from creating nonsensical Command properties.Christian Kandeler2016-06-155-1/+44
| | | | | | Task-number: QBS-985 Change-Id: If25310b37ee35cf786ae8d0c19d2196129ac2ab1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Make processNameByPid() work on OpenBSD,NetBSD and FreeBSDRalf Nolden2016-06-133-11/+32
| | | | | | | | | | Backport of 3432742caa5171ceddee0e75adefda9310c3b1eb in qtbase/src/corelib/io/qlockfile_unix.cpp of QLockFilePrivate::processNameByPid() that merged NetBSD, OpenBSD and FreeBSD as well as GNU/kFreeBSD implementations into one block. Change-Id: I5fdc086d5c2680d5a431339873c8685b0e68bf57 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Doc: Show syntax for multiple filesKai Koehne2016-06-121-0/+6
| | | | | | Change-Id: I3a2361865036573237f1f87e2967f149bbf218f2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Make search paths given on the command line available right away.Christian Kandeler2016-06-105-16/+41
| | | | | | | | | That is, in the top-level file. Without this patch, such search paths would not make imports available in the first file that was read, which is not what users expect. Change-Id: Iab62e046450a4677c8b7b68a1ad5ba70502826bc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Bump version to 1.5.2.Christian Kandeler2016-06-092-2/+2
| | | | | Change-Id: I93af50141a6180fb6663f5ee5d1463f57a56bd9e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Revert "Fix version validation for limits of 1,1."Christian Kandeler2016-06-081-4/+1
| | | | | | | | | | | | | Abovementioned patch is completely broken. Now e.g. version validators with min == max == 2 always cause errors for correctly formed version numbers. No more patches in this area will be accepted without an autotest. I also strongly suggest not to throw hard errors anymore for this kind of thing. This reverts commit a9f70a366fdc47d58057116ae70c2d20dfa9c5f3. Change-Id: I4d9c803cc2f914f05b888ea90c13a686479c4f96 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix version validation for limits of 1,1.Jake Petroules2016-06-071-1/+4
| | | | | | | | It seems that the {0,} specifier is equivalent to {1,}, so work around this. Change-Id: I06b6b6a7eb9561f948c0b0ba6e83a66800234e74 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix potential crash in project setup.Christian Kandeler2016-06-072-1/+37
| | | | | | | | | | | | | | | | 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-06590-590/+590
| | | | | | Change-Id: I885d94bb14b325dc36767a840ebdb0be1fb59dd2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Avoid using the term "Qt Build Suite" in Qbs documentation.Jake Petroules2016-06-043-12/+12
| | | | | | | | | This term is not used by anyone (it's always written as "Qbs" and pronounced "cubes") and it is ultimately confusing to users and detracts from the identity of the product, especially its pronunciation. Change-Id: Ifb76d059cafc33ce3fa686ddb3d7d67f47084faf Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Executor: Do not assert on condition that can actually happen.v1.5.1Christian Kandeler2016-06-027-3/+81
| | | | | | | | | | | | | | | | | | | | | We asserted on the condition that a node's product must be in the list of products to build, meaning that it needs to belong to the set of user-selected products or one of their dependencies. However, there are at least two ways in which one can trigger this condition to be false: 1) The user provides a faulty project in which a "Depends" item is missing, but the respective artifact from the other product is still found (e.g. a generated header file via a project-global include path). 2) The project is actually okay, but our C++ scanner erroneously adds dependencies from a different product, e.g. because it does not know about #ifdefs. Instead of the assertion, we now simply mark the respective node as built and continue. Ideally, we'd log a warning, but we cannot do that because of point 2) above. Change-Id: I3549d732dea5cde84d1019132580a8e051c9db11 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Don't warn about unknown Windows versions if no version is set.Jake Petroules2016-06-021-1/+1
| | | | | | | Task-number: QBS-980 Change-Id: I87f7cccf5a0e99f4c1762c56680f66c1a1b058b3 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add missing code location to some parsing errors.Christian Kandeler2016-06-021-4/+8
| | | | | | Task-number: QTCREATORBUG-16346 Change-Id: I2ab57a0da5cfc2b2fc59898a80d2122b56b96685 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Version validator: Nicer error message for fixed component number.Christian Kandeler2016-06-011-1/+4
| | | | | Change-Id: I7172c5afb0fb831b733d352c328fe57fdd75c179 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Print more descriptive "unknown Windows version" warning messages.Jake Petroules2016-05-306-32/+47
| | | | | | | | | Incidentally, this also fixes a bug causing Windows 10 to be treated as Windows 1.0 in the subsystem version. Task-number: QBS-978 Change-Id: I5aa1763ce9d0a9b12aa50e864086cc2ae4ceb3c1 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* BuildGraphLocker: Workaround a lockfile issueOrgad Shaneh2016-05-301-1/+8
| | | | | | Task-number: QTBUG-53392 Change-Id: I6691c9d6d3bb23f84b0739cd4a8f505be4c25cd2 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Enable C++11 for the scanner plugins.Christian Kandeler2016-05-272-0/+2
| | | | | | | We overlooked them in a50456dcb0. Change-Id: Iaa4a0094727209c30f385521d48fb70e43a2bd25 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* PkgConfigProbe: Make sure no values are undefined in the success case.Christian Kandeler2016-05-275-8/+89
| | | | | | | | | | If the probe runs successfully (i.e. "found" is true), all output properties should have defined values so that users can work on them directly rather than first having to convert "undefined" to "empty array" etc. Change-Id: I96a380480ea746cc0413553e49097f1e417b71af Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix edge case in module look-up.Christian Kandeler2016-05-255-2/+42
| | | | | | | | | | | | | If a product in a project with an extra search path exports a dependency to a module that is found using that search path, *and* a second product that is located in a project without the extra search path depends on the first product, *and* a third product that is located in the project with the extra search path also depends on the first product, we inexplicably ignored the failure to load the exported module, leading to an assertion later on. Change-Id: Id0e4a67e912ded679fa35ec397b51dcaabd65cce Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Check for self-assignment in ProjectData assignment operator.Jake Petroules2016-05-251-2/+4
| | | | | | | | Should not omit this in dealing with dynamic memory. Change-Id: Ifc1e70a353446ab61023b9224a23285febfa6b97 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix use of potentially uninitialized value.Jake Petroules2016-05-251-1/+1
| | | | | | | | | This does not seem to be reproducible currently (found through static analysis), but it's fragile if the code structure of the callee changes. Change-Id: I3500a631306f00392e83dbc83103b41e0bf2dc9c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* cpp module: enable exceptions by defaultSergey Petrov2016-05-242-2/+12
| | | | | Change-Id: Icc4d9f5239ce1dc8fb8dd72bad4bdcfae1f51737 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix setup-toolchains when the compiler name is g++ and no --type is set.Jake Petroules2016-05-231-0/+2
| | | | | | Task-number: QBS-969 Change-Id: I0a2062415da31da02dd5e2013b377e90e8108278 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix responseFiles autotest on non-WindowsJoerg Bornemann2016-05-201-1/+3
| | | | | | | Do not hard-code the shell-quoting. Change-Id: I4e7fafa28e0248581550a6467ce62f1c221d73c0 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix static-lib-deps autotest on WindowsJoerg Bornemann2016-05-201-0/+1
| | | | | | | | We must actually call some function from the setupapi lib to provoke a link failure in case our static lib handling is broken. Change-Id: I56444ca5f31e653c3f56b7fa33c1485ced797593 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix null pointer accesses.Christian Kandeler2016-05-202-11/+22
| | | | | | | | | | | | | | | | | | | | We used to call certain member functions on an object that could be null. While that was never allowed, it did not cause problems so far because these functions checked their "this" pointer and returned immediately if it was null. With GCC 6, such constructs no longer work. Measures taken: - Fix the null pointer accesses by allocating the respective objects earlier (in case they must not be null) or checking for a null value at the calling site (in case they can legitimately be null). - Rewrite the aforementioned member functions so that they will no longer silently tolerate undefined behavior with other compilers than GCC 6. Task-number: QBS-974 Change-Id: If07ddc5c0e536d36c19311357f871554aa692ad6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ilya Lyubimov <villytiger@gmail.com>
* Add missing initializations for class members.Christian Kandeler2016-05-201-2/+2
| | | | | Change-Id: Ib859cc926a9f26dae1dda88b9f2cb23cac4439ee Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Respect the conditions of Export items.Christian Kandeler2016-05-206-0/+67
| | | | | | | | | | | | | | | | | This did not happen before, because module conditions are only evaluated when loading the module file, of which there is none in the case of Export items. Note: The implementation assumes that the condition of an Export item has the semantics "use or ignore this Export item". The other possible meaning would be to use the condition as the condition of the resulting module instance, but that immediately leads to weirdness: What does it mean for the dependency to a product if said product is enabled, but its Export item is not? What about conflicting conditions in the Export items of an inheritance chain -- do they get logically "and"ed? And so on. Change-Id: I08d7d93d30b8a53b42a317cb3391924e4666d169 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Quote arguments in response filesPhilip Schuchardt2016-05-205-1/+94
| | | | | | | | | | | | This bug fix adds quotes around arguments with spaces or tabs in the response files. It also escapes quotes if they're found in the argument list. Task-number: QBS-812 Autotest-by: Joerg Bornemann <joerg.bornemann@qt.io> Change-Id: I4f4479e413b467e64f55c3068475d0dbb1990798 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Philip Schuchardt <vpicaver@gmail.com>
* remove unnecessary path normalizationOswald Buddenhagen2016-05-191-1/+0
| | | | | | | | qt5 always normalizes $$files()' return value Change-Id: I06ae7bde595ae82e2ca2a25ec3269fbb877c9ae1 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* nuke unused cleanPath() functionOswald Buddenhagen2016-05-191-13/+0
| | | | | | Change-Id: I6589e7ebeef2dd90ae4cd82d478a8c6efc533911 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* use TEMPLATE = aux instead of bizarre phony target hackOswald Buddenhagen2016-05-191-24/+2
| | | | | | | | | we don't support building with VS or Xcode anyway. qt creator did the same move recently. Change-Id: Iabfbe713be5954f167f0a8a4c431bd9e935c7e20 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Properly support disabling the use of precompiled headers.Christian Kandeler2016-05-182-0/+6
| | | | | | | We already had the respective properties, but they didn't do anything. Change-Id: I2af86e325b6da13ea7f07eb132e207c8501ae467 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Clone values when copying them from Export items.Christian Kandeler2016-05-182-2/+1
| | | | | | | | Otherwise all importing products share the same export scope in the end. Task-number: QBS-977 Change-Id: I453dd48c17786e50e982b5e0369434b1108705cc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update "importingProduct" autotest to reflect newly found bug.Christian Kandeler2016-05-182-26/+32
| | | | | | Task-number: QBS-977 Change-Id: I7e5e287568b674402bb2dfeb00875da9d2620f36 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Doc: Align code snippetsKai Koehne2016-05-181-1/+2
| | | | | | Change-Id: Id543798e8c00840504116d9077288327ab0f6543 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Add missing _MSC_VER=XXXX define to compilerDefinesJoerg Bornemann2016-05-172-1/+10
| | | | | | | The _MSC_VER define must be passed to moc and friends. Change-Id: I77d1a030e802a24b6980d67434e05ae0be96a20d Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix flaky autotest.Christian Kandeler2016-05-121-32/+64
| | | | | | | | | It would sometimes fail because the actual output is potentially interspersed with qbs status messages. Take this possibility into account. Change-Id: Ib1b9e05a754bd8bf56d6834decd49c10838ed0c0 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Version bump to 1.5.1.Christian Kandeler2016-05-112-2/+2
| | | | | Change-Id: I5a42c678d17951c7da12a88683bbd32fb2ed5f4f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix missing import in moc.jsv1.5.0Joerg Bornemann2016-05-061-0/+3
| | | | | Change-Id: Iaba0d59741355b70923c24e8f9bc502c3db4856e Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Skip sanity checks by default in release mode.Christian Kandeler2016-05-041-0/+11
| | | | | | | | They can get quite expensive, particular with null builds. Allow to re- enable via environment variable. Change-Id: If8368e14f97223fc0398aa1111711c4d131a2fb4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix wrong assumption about transformer output timestamps.Christian Kandeler2016-05-045-7/+52
| | | | | | | | | | | It is true that all outputs of a transformer get the same timestamp after it has run successfully, but a new output being added afterwards will have no timestamp at all, so we cannot rely on that as part of the up-to-date check. Task-number: QBS-945 Change-Id: I5568ec9854fca46c1ca9fbd5cc95c9b1e3351c05 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Add an "importingProduct" variable to the Export item.Christian Kandeler2016-05-037-1/+56
| | | | | | | It was an oversight that we did not have this before. Change-Id: I6347be273273da301ca1ee3e23ff2ddda0a1553a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Enable exceptions in qbs projectOrgad Shaneh2016-05-031-0/+1
| | | | | Change-Id: I754280c0b8b02c4693be6936b67f458f1a57ba2b Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>