aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix look-up of scalar module properties.v1.1.0Christian Kandeler2013-11-052-9/+9
| | | | | | | | | | | | These must not be searched for recursively. For instance, if such a property is set to different values in different instantiating modules, there is no sensible heuristic which value should be used. The current implementation just takes the one found first, which is just as wrong as any other solution that looks beyond what is set directly in the product or artifact. Change-Id: I65c29538a437872e2d1e1c4043f2c5cfa301ebb9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix crash on missing Depends items in Export itemsJoerg Bornemann2013-11-051-0/+1
| | | | | | | Task-number: QBS-442 Change-Id: I6f08ca595665fca35451027c79be99f5ebcefb9f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix use_installed.priJoerg Bornemann2013-11-053-4/+13
| | | | | | | The lib version number must be taken into account. Change-Id: Ic97dc43ef526e8f528c94ed15d92e498b143fc7d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix static buildJoerg Bornemann2013-11-041-2/+6
| | | | | Change-Id: Idd750eca86e123e01a61b68046115b54e951ae40 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Prevent the .gitignore file from being packaged by git-archive.Christian Kandeler2013-11-041-0/+2
| | | | | Change-Id: I2a8ebd755ab2c12c0b0f3ca97a5ee48184674e8d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix autotest.Christian Kandeler2013-11-043-10/+1
| | | | | | | | The "raw backslash" case does not add anything of use, and most likely produces invalid C++. Change-Id: I6d86d2e3a9a4cb3ff7682c5e97475c3e7d5a1c6b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Doc: document the remaining language items and their properties.Jake Petroules2013-11-0412-10/+295
| | | | | | | Task-number: QBS-203 Change-Id: I1f0bd6b3861e3887a21088f0dea4d24b83c0736e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add missing description for "ln" commands.Christian Kandeler2013-11-041-0/+3
| | | | | | | | | These missing descriptions are the cause for weird empty lines appearing in Qt Creator's compile output. Change-Id: I67af9adf816496595d5fd3d8bdb372e06aa7c8b1 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix filetag for "C" file extension.Christian Kandeler2013-11-041-1/+1
| | | | | | | | Such files should be considered C++, not C. Change-Id: Ifc9608eb5196b250694f0dec2a769a1f65c11a79 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix file tagger pattern matching.Christian Kandeler2013-11-041-1/+2
| | | | | | | | | | | | When first creating a FileTagger object, we implicitly set the pattern syntax to "RegExp". On restoring, we set it to "WildCard". We now use wildcards always, as the documentation says. Note that the only reason the bug has not manifested itself yet is that the shortcut in FileInfo::globMatches() catches all our existing file tags. Change-Id: Ibedb54fb3a890ae6ab35a8f073d85cc4ebfc36bc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add missing include statement.Christian Kandeler2013-11-041-0/+1
| | | | | | | | Currently compiles without, but that's a coincidence. Change-Id: Ifc48a2bdef3b71ab49771678ba1c1aa0a152c03a Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix broken property reference.Jake Petroules2013-11-041-1/+1
| | | | | Change-Id: I1a1e68e1e866bde33e6002125eb79eff20e52c88 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add documentation for "global" built-in functions.Christian Kandeler2013-11-011-0/+57
| | | | | | Change-Id: Iba2a19d182da70b761f33532d47b0c43dfbf6ae5 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* Clean up manual tests.Christian Kandeler2013-10-3123-66/+36
| | | | | | | | | Turn some manual tests that add coverage of a feature into autotests. Turn some manual tests that demonstrate a feature into examples. Remove some manual tests that do neither. Change-Id: Ie54005e1ba5aad07319eb864cc5ad70e26308080 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Rename "qbsPath" preference setting to "qbsSearchPaths".Christian Kandeler2013-10-312-2/+12
| | | | | | | | | The old name is grammatically incorrect and also not descriptive enough. The new one is also consistent with the project and product properties that amend the respective setting. Change-Id: I7be6b3d986fdb1f232623bf9b471ab21e04ed9f2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Separate between overridden values and others in command-line frontend.Christian Kandeler2013-10-311-2/+11
| | | | | | | | | | The current code is too simplistic in that it just pretends the whole configuration was explicitly set on the command line. This can lead to precedence problems regarding module properties set in project files and profiles. Change-Id: I50113486159308a9660be7b86d2e2240527df73e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Store the right build configuration.Christian Kandeler2013-10-303-18/+13
| | | | | | | | The build config we serialized did not contain overridden values. Change-Id: Ie2841466dc49ad67e7b8f397398533e0e13df207 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix installation of library in qbs project file.Christian Kandeler2013-10-301-1/+1
| | | | | | | | | There were two bugs: - For a static build, the library was not installed. - For a shared build, the symlinks were not installed. Change-Id: Ib34b733ca59d6ad27b91663ed0527ed50ef6aa99 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix some property types in qbs' qbs project file.Christian Kandeler2013-10-301-3/+3
| | | | | | | | "property path" is wrong for these; they're just strings. Change-Id: I050b937ee213441a1d19e48a60eef58cfa6b3ba7 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* yield error if Product.name conflicts with a module nameJoerg Bornemann2013-10-301-0/+22
| | | | | Change-Id: Ia06fdf283b74d3d1b5418d1752a0fa717fca08d4 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* check property declarations of overridden propertiesJoerg Bornemann2013-10-302-1/+4
| | | | | | | | | Now it's an error to pass nonsense like project.blubb:1 on the command line. Task-number: QBS-431 Change-Id: I1e2128bce953b7acef4abe0fd09808ba1f71d1f9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* do not collect cpp.platformDefines from dependent modulesJoerg Bornemann2013-10-303-6/+6
| | | | | | | | | | cpp.platformDefines is dependent on properties that are set in the product's or a group's instance of cpp. Therefore we must not combine the values of this property from the input and its dependencies. Task-number: QBS-433 Change-Id: Id90ffc9d8193d8425e62ffc3d0b1d3cca83f8dff Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix broken links in Qt modules documentation.Christian Kandeler2013-10-301-7/+7
| | | | | | | Change-Id: I57fbbd66e500a8172346acf45f84350c7ebb394c Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix product/module name collisionJoerg Bornemann2013-10-301-1/+2
| | | | | Change-Id: I6a5d57b2ec0cfb5ca3eaf0e261a1b60f90c08258 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Install examples.Christian Kandeler2013-10-304-3/+14
| | | | | Change-Id: I5c27ee33bf022784da88dbfc55045621be78c68c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make default value of Product.type an empty listJoerg Bornemann2013-10-301-2/+4
| | | | | | | | | That's what the documentation claims and it reduces the need for undefined-checks in code that uses this property. Task-number: QBS-429 Change-Id: Iee65c4bf5b772bc235d185c91cc478f96d7def91 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Remove duplicates when transitively adding library dependencies.Christian Kandeler2013-10-292-4/+16
| | | | | | | | | | When not doing that, the number of redundant linker arguments can reach enormous values rather quickly. For instance, the size of Qt Creator's build graph on Linux goes down by 10 per cent due to this change. Task-number: QBS-435 Change-Id: I772fc6a6c90696b5d0a3e0ebd65315cf0773552f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add failing autotests for bugs.Christian Kandeler2013-10-294-0/+43
| | | | | Change-Id: I217eac496994fdddf6a4577bddd79f3d76bba450 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add examples.Christian Kandeler2013-10-2938-376/+105
| | | | | | | | These are mostly former manual tests that seem useful for demonstrating some feature to learners. Change-Id: I06d895ebdee1280699416cf4930a08602951aaf7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix Process.exec().Christian Kandeler2013-10-281-1/+1
| | | | | | | | Don't let QProcess::waitForFinished() time out. We cannot know how long the invoked application will run. Change-Id: Ibfe6fdf86beb45ff5f551537c614b8cb2a6d8407 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix potential deadlock in Ctrl-C handling.Christian Kandeler2013-10-282-16/+56
| | | | | | | | | | The current code calls into the Qt event system from the interrupt handler, which will lead to a deadlock if the interrupt came in during event handling. Change to an approach that does only minimal work in the interrupt handler. Change-Id: Ic4e615939305390efd819b47fa02c7fadb6acf16 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Cache directory entries when collecting item prototypes.Christian Kandeler2013-10-284-21/+55
| | | | | | | | | The file system access is expensive. As a result, the "UiImport" visitor function showed up prominently on callgrind's heat map. Now it doesn't. Change-Id: I3a37fa2b6d4abc29bb9c25776b86a485f647afce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Check for duplicate product names.Christian Kandeler2013-10-289-3/+78
| | | | | | | | Strangely, no such check exists currently. Instead, one will typically get an internal error on the artifact level later on. Change-Id: Id9cd749a70564100bd7286b896f64cafbe9bfb73 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Don't throw from API class.Christian Kandeler2013-10-241-1/+1
| | | | | | | s/throw/return, which the author obviously intended to write. Change-Id: I3093352adecd6e1d7bda52c89d02c57e7dac3b58 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add failing autotest for QBS-424.Christian Kandeler2013-10-235-0/+43
| | | | | Change-Id: I6a1194981bf6f679ac931a9871281c4866f3bd20 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add an example to the Rule documentation.Christian Kandeler2013-10-221-0/+44
| | | | | | | Makes it less abstract. Change-Id: I1ba0636afd5454ad58099e7be868f2968d338f74 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix autotest on Windows.Christian Kandeler2013-10-222-2/+4
| | | | | Change-Id: I3eea1f0ef0da789550fba046e1f806b29bae3a6d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Take dependencies into account when tracking changes.Christian Kandeler2013-10-224-0/+43
| | | | | | | They are currently ignored. Change-Id: I94b89f9b7c6838106670d553429b297823ac861f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Move a number of cpp module properties to the base module.Jake Petroules2013-10-224-28/+31
| | | | | | | Task-number: QBS-409 Change-Id: I7cd6942626e2543e8e4f75ee10f499d8f1f25e81 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix Windows buildJoerg Bornemann2013-10-222-2/+5
| | | | | | | | When setting VERSION, qmake adds the major version number to the lib name on Windows. We need to take this into account in use.pri. Change-Id: I45ed925cb6b0de8528ab3c025da7b3d269651d8c Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix build with namespaced Qt.Christian Kandeler2013-10-221-1/+7
| | | | | Change-Id: I6374e4d8153e2de390f408454c650c21de57a175 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Give the qbs library a version.Christian Kandeler2013-10-222-0/+3
| | | | | | | | Currently, the project version has no effect on the library name on Unix systems. Change-Id: I7a76a0d127fc47170cf05c888cc3ee92e5c44395 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Remove Artifact conditions in GenericGcc module.Christian Kandeler2013-10-211-3/+0
| | | | | | | | | The current implementation is bogus, and the "correct-looking way" (using product.moduleProperty) does not work either. This is another victim of QBS-370. Change-Id: I5d7fa13def32ee4a8aee73755552505b1e9ab28d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add missing "product." prefix in GenericGCC module.Christian Kandeler2013-10-211-1/+1
| | | | | | Change-Id: I96728e0919e596cb08da0eda4643c0894750fe9f Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Improve the documentation on building Qbs.Jake Petroules2013-10-211-7/+16
| | | | | | | | Now lists the recognized qmake CONFIG options. Change-Id: I183f97624566870e6b4d59d0c9e7f4fcb266e54f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Try harder to clean up on exit.Christian Kandeler2013-10-212-2/+11
| | | | | | | | The fewer false positives are reported by tools like valgrind, the easier it gets to spot actual leaks. Change-Id: Ic7c73d48715d0899ad910088d44825988fa5b34a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix Product.condition evaluationJoerg Bornemann2013-10-211-2/+2
| | | | | | | | We must check the product's condition after the modules are loaded, because the condition might depend on module properties. Change-Id: I5b6dbe1d20f823ba0ab259e66744c4d4b25f1a96 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Allow trailing slash in install root.Christian Kandeler2013-10-181-1/+6
| | | | | | | | | Currently, removing a directory specified as "dir/" fails, because the file name is empty according to Qt logic. Therefore, remove such trailing slashes first. Change-Id: I3e5e3c9536dbdf9d20d56f9b19b4d30473161cb7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* call Module.validate after the base module setupJoerg Bornemann2013-10-181-1/+1
| | | | | | | | Special base module properties like hostOS were not available in Module.validate. Change-Id: I14f506dea2eb10edc726dd5a789e04e97f06f9a5 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* move the setup of the base module to its own functionJoerg Bornemann2013-10-182-13/+26
| | | | | | | Also, do the setup only once and not for cache hits. Change-Id: I784d5127a3a7a89f605b18c697ce8a53f11171b9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>