aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix compilation with Qt < 5.3.Christian Kandeler2014-11-201-0/+5
| | | | | Change-Id: Ie8a430539e3952eb97bc18fc17b1413677e6d900 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Add Q_NORETURN to function that always throws.Christian Kandeler2014-11-191-1/+1
| | | | | | | To help compilers and analyzing tools. Change-Id: Icd2e25e8fec7ea2962ed8366ea5b9cf43c07c247 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fix profile setup for mingw-qt4.Christian Kandeler2014-11-141-1/+1
| | | | | | | | When extracting the mkspec name, we must not capture the trailing "/qmake.conf" in our regular expression. Change-Id: I0bca572ca173e1300ced6d5753d4140a12e33a6e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fix rule comparison.Christian Kandeler2014-11-121-2/+3
| | | | | | | | | | We used to just compare the source code of the prepare script, but that was too much of an optimization. Simply use the ScriptFunction's operator== (which was also missing a member comparison), everything else is a maintenance nightmare. Change-Id: I625263e8dea42cbf42624c00434032d7b7146dc9 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix over-eager artifact rescuing.Christian Kandeler2014-11-121-9/+34
| | | | | | | | If a child artifact has gone away, then we must not rescue the parent artifact. Change-Id: I2e8509f458193c0238e53c450faee2e1a0e27b14 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Make product properties available in API.Christian Kandeler2014-11-104-0/+12
| | | | | Change-Id: I111cefeb7a291be45afc4e241a40b53e2bf18076 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* fix iconset tests on OS X 10.10Joerg Bornemann2014-11-031-2/+0
| | | | | | | | | The iconutil tool doesn't output warning messages about missing files anymore. Also, there's no reason to test the behavior of this tool. Change-Id: Ic0a6b7c0d4b524d2a70b9aac133ed084b4ee2a51 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* make testAssetCatalog work on OS X 10.10Joerg Bornemann2014-11-031-1/+7
| | | | | Change-Id: I79cdd19de11277d33852c4fb2b241a874148e775 Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Make information about commands available via the API.Christian Kandeler2014-10-3113-2/+417
| | | | | | | | | | | | Users can supply a file path and a tag, and they will get the list of commands that are run to create an output file with the given tag from the given input file. This information is needed by Qt Creator. Change-Id: I36f92c200e78831733fccc4f7b5f54b8218d6311 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* introduce cpp.runtimeLibraryJoerg Bornemann2014-10-294-4/+31
| | | | | | | | | | | | | | This property determines the type of the used runtime library. Accepted values are \c{"static"} and \c{"dynamic"}. If this property is set to \c{undefined}, then the default runtime library of the toolchain is used. For MSVC the default value is "dynamic". At the moment this property is only functional for MSVC. Support for other toolchains may be added later. Change-Id: I6795e89280d057cdb31967ef5c114ef60b3a98be Task-number: QBS-570 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* libqtprofilesetup: Remove unused property from template.Christian Kandeler2014-10-281-3/+0
| | | | | Change-Id: I242ed5b08c47899e3985be160df105a26b3d3df7 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* extend error message with product's locationJoerg Bornemann2014-10-281-2/+6
| | | | | | | | | The error "Product 'Foo' depends on 'Bar' but 'Bar' is disabled." now contains the locations of both products. Task-number: QBS-694 Change-Id: I2633ee90d9442923bf1630fce81dc106c4e3639e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix assertion in change tracking.Christian Kandeler2014-10-286-0/+27
| | | | | | | | | Happens when there are changes to a disabled product's source artifacts. This was introduced by change 78abe57794, which removed one line too many. Change-Id: If9b6ce90282eaf13670c0c6af8db42b642b9733b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* set up entry point libs in Qt.coreJoerg Bornemann2014-10-273-3/+38
| | | | | | | | Let the Qt profile setup write the entry point libs to Qt's core.qbs. Also, add shell32.lib to MSVC if we have a Qt >= 5.4. Change-Id: I8ade1141101ac7494031ad49e78ba63be0342f03 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* export compare function for VersionJoerg Bornemann2014-10-271-2/+2
| | | | | | | | Version is already exported. Change-Id: I86dc0d1c4b57427ab5cd52d8df7375693457f37a Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Take product condition into account when change tracking.Christian Kandeler2014-10-278-43/+33
| | | | | | | | | | | If a product gets enabled when it was disabled before or vice versa, that should be considered a fundamental change. Otherwise some invariants won't hold later on. This also gets rid of some special handling. The associated new autotest spuersedes two existing ones. Change-Id: I69ed25a7dfd86773f2444b51b372cc48275487b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix settings import/export.Christian Kandeler2014-10-241-5/+3
| | | | | | | | We forgot to update this feature when switching to JavaScript representation. Change-Id: I6cbd8f9e0f39e18b9e2344124fa9e4811bac6686 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix condition for including the "examples" sub-project.Christian Kandeler2014-10-171-1/+3
| | | | | | | | The condition has to be attached to the sub-project via the "Properties" item, not to the SubProject item directly. Change-Id: I858788c463c6816929f0f891f8d03438eeb2886c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove unused ScriptContextPusherJoerg Bornemann2014-10-171-21/+0
| | | | | | | | We must avoid push/popContext in view of a possible port to QJS*, so don't make using this functionality comfortable. Change-Id: Ia63e121bc818e93f9c4a70e3c4088478707e8912 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Put Command properties in the filter functions' scopes.Jake Petroules2014-10-176-25/+92
| | | | | | | | This allows real functions to be used instead of unsafe construction of function objects from strings. Change-Id: Ic1b31d0f7984caaac0cf9a5b5a21d085736015b3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update mingw crosscompiler detection for mxeAleksey Sidorov2014-10-171-0/+2
| | | | | | | | | MXE uses a different compiler names for shared and static builds For more details see a http://mxe.cc/ Change-Id: I7ececb494a3611a93744110454fe8da75313e4f5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qtprofilesetup: Inhibit more warnings about missing prl files.Christian Kandeler2014-10-162-20/+40
| | | | | | | Namely, those for Qt 4 modules that can be configured out. Change-Id: I0eb5741183c82762abe59d3cfdc67a30f0189a07 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* complete license header updateJoerg Bornemann2014-10-1698-736/+805
| | | | | Change-Id: I2c7ea3242e5ce244e8feee01c0f8a0b0651fa0d4 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Set the initial value for "destinationDirectory" to "buildDirectory".Christian Kandeler2014-10-161-0/+1
| | | | | | | | In BuiltinDeclarations. The replacement we do in ProjectResolver could be too late for some contexts. Change-Id: If418f894fd8d161399b25a03e56876b34c3ee1cc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* License update.Eike Ziller2014-10-16336-2354/+2862
| | | | | | | Add LGPLv3 option. Change-Id: I8a63ad5e46a2701032b2103f791df4dec5b707e8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Bump version.Christian Kandeler2014-10-142-2/+2
| | | | | | | To 1.3.3. Change-Id: I6d3fa52de7a2682fa3bc93ecf8c37121c5b19233 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* yield error on undefined elements in string listsJoerg Bornemann2014-10-143-0/+11
| | | | | | | | Instead of converting undefined values in string list properties to the string "undefined", we yield an error. Change-Id: Id370dafa67061f1f1a86bbeaaeed152be6fc751f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* let Item::clone() create a deep copy of the item treeJoerg Bornemann2014-10-137-2/+60
| | | | | | | | | | Product multiplexing uses Item::clone() to create a product item per profile. Cloning the product is not enough, however. We must create clones of the children and item properties too. Task-number: QBS-690 Change-Id: I8f46488ffa5df255ee9c2b0571145c7ff034c204 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* avoid usage of QScriptContext::callee in callbacksJoerg Bornemann2014-10-103-10/+14
| | | | | | | | | | In order to fix QBS-695 we must work-around QTBUG-39416. Instead of relying on the callee() and extracting data from it, we're passing payload via QScriptEngine::newFunction. Change-Id: I1d454fba78523c7cd77a906952bdd48cbd5330db Task-number: QBS-695 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Refactor IB module a bit. This fixes the asset catalog autotest.Jake Petroules2014-10-107-56/+115
| | | | | | | Task-number: QBS-669 Change-Id: I026bc51cd73db64bf8f96163362af4e9b77c70e3 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* let JS extension Process find executables in PATHJoerg Bornemann2014-10-105-14/+50
| | | | | Change-Id: I9052b8e895cb638bc4b8a185959c72e6819fb628 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* make product's file path cache thread-safeJoerg Bornemann2014-10-103-5/+23
| | | | | | | This cache is accessed from multiple threads. Change-Id: I85f8d2a08215bd5d7478ae862ff611deaa07d400 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* factor ExecutableFinder out of ProcessCommandExecutorJoerg Bornemann2014-10-106-91/+205
| | | | | | | | The functionality of finding the right executable in the build environment is useful in other contexts too. Change-Id: Iea73ccbc6eda1f0e58e4aadca3a2c23c7211168d Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove --hash-style option from linker command lineJoerg Bornemann2014-10-091-1/+0
| | | | | | | | | | | The .gnu.hash ELF section is not available on MIPS, therefore this option must not be added unconditionally. Rely on the linker's default instead. Task-number: QBS-696 Change-Id: Ib31f6087a24b35e7fb0110fe777e03050b06c412 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Utilize ModUtils.PropertyValidator in Qt.core module.Jake Petroules2014-10-082-13/+19
| | | | | Change-Id: I3631ec337d3657d4e69a2bd02f3c5b63f8ad4b2a Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Improve the documentation for the Module item.Christian Kandeler2014-10-082-18/+81
| | | | | | | | | | Everything we showed there was how to add dependencies, which is more relevant for the Depends item and has consequently been moved there. Instead, we now show a complete module and how it interacts with a product that has a dependency on it. Change-Id: I4858e47c1d4c8c9861f40089c572c13e3b0ae83b Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Add missing copyright notice.Jake Petroules2014-10-081-0/+1
| | | | | Change-Id: If76a48cba01f34a2e5a78905d94a86538de1c81a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Documentation: Add missing Module property descriptions.Christian Kandeler2014-10-081-0/+12
| | | | | Change-Id: If166a9ee3f9cec648c021511551c5df935820860 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make Qt build variants logic more sensible.v1.3.2Christian Kandeler2014-10-078-23/+89
| | | | | | | | | | We no longer force the Qt build variant to match the build variant of the application linking against it (except for MSVC, where that is required). Change-Id: Ie2c80fbb0d688cdcbab57ad638aaccbbd6988a22 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* libqbsqtprofilesetup: Get rid of bogus warnings about missing prl files.Christian Kandeler2014-10-062-19/+42
| | | | | | | | | | | - Don't look for debug libraries in a release-only Qt (and vice versa). - Some libraries are never built as debug libs. - On Darwin, some modules are not frameworks even in a framework build. This also fixes a bug setting up plugins of a static Qt build. Change-Id: I7e6c1e06070897982fdb9b12930bd7f75ae620b0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add tools/architectures.hChristian Kandeler2014-10-0610-85/+164
| | | | | | | | | | The architecture-related functions do not belong into hostosinfo.h. What's even worse is that we currently include that private header in Qt Creator, which is a no-go. So introduce a new public header that supplies the required functionality. Change-Id: I413c1bcfdf799f3aa768ce5c116f0122da8ac81c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make the "sourceDirectory" property get inherited by sub-projects.Christian Kandeler2014-10-021-1/+2
| | | | | Change-Id: I3bfa722cdae4a68d779019bc3660aef289b8154e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Replace QTC_HOST_* with QBS_HOST_*Orgad Shaneh2014-10-024-24/+24
| | | | | | | There are conflicts when both hostosinfo.h headers are included Change-Id: Ie6fbbed234c1273163e53bed198f5a1054277ecb Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* libqtprofilesetup: Fix mingw use case.Christian Kandeler2014-09-295-24/+32
| | | | | | | | | | | | - Don't assume the mkspec has "mingw" in its name. - Relax overly pedantic tests in gcc.js: If a library name is an actual file path, then use it as one, regardless of what it looks like. - Some autotest adaptations. Task-number: QBS-688 Change-Id: I1d0d51b04ae81d4c10f8cdcc18d6447233e44863 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix wrong property names in ib.jsJake Petroules2014-09-291-2/+2
| | | | | Change-Id: I9419b4a986dda1e2c367e1308bb03f7d96f5a2ef Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Tests: Don't use nm to look for symbols in an object built by MSVC.Christian Kandeler2014-09-291-0/+4
| | | | | | | | We relied on nm not being available on Windows, but it can be if mingw is installed. Change-Id: I13a93a7a3b54129f75e1a746a09c9abd9f89ee33 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Use the right search and plugin paths in API tests.Christian Kandeler2014-09-293-7/+13
| | | | | | Task-number: QBS-684 Change-Id: I45403d7fce4429387b67ff0b50ba2b6208580c17 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Check whether profiles listed in Product.profiles actually exist.Christian Kandeler2014-09-261-1/+9
| | | | | | | | Otherwise people will get cryptic messages about missing properties if they mistype a profile name. Change-Id: I732a7ab6a5c0f79ddee7d4f028c2514aec265d0a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix evaluation in subitems of disabled productsJoerg Bornemann2014-09-262-2/+5
| | | | | | | | | | | Property evaluation in subitems of disabled products didn't work properly and led to evaluation errors. Even though a product is disabled, we must handle its subitems in the ModuleLoader to make module properties available. Task-number: QBS-671 Change-Id: Ibe051357095766b47e242b65c7899baeb6b0ee43 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove dead codeJoerg Bornemann2014-09-262-9/+0
| | | | | | | | Removed code that handles Artifact items below Product items. This is not supported and never really was. Change-Id: Id9e6d72c0f8eaab1dbfd59732bb4fd5057aad8b2 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>