aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* support creation of OS X framework bundlesv1.0.0Joerg Bornemann2013-05-314-24/+88
| | | | | | | | | | | To create a framework bundle, set your product type to "frameworkbundle". The bundle creation is similar to the "applicationbundle" product type. Task-number: QBS-274 Change-Id: I103feb59e141c463f66ebb45f08cea61dad5d880 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* bump version number to 1.0.0Joerg Bornemann2013-05-316-7/+7
| | | | | Change-Id: I0b24563800b3a7c6a1dc450e13aef3ef9e2b2f90 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Centralize Info.plist/bundle handling code.Jake Petroules2013-05-313-163/+112
| | | | | | | | | | | | | | | The differences in plist/bundle handling between OS X and iOS are extremely minimal, so there is no reason to duplicate such a large block of code between their respective module files. As a side effect, this implements support for dictionaries and arrays in OS X plists as well as the defaults handling that already existed for iOS. As an additional side effect, QBS-272 is no longer an issue. Change-Id: I39be5681f4d4fba7369d55da720ff8130ff52cba Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix misleading messages when canceling operations.Christian Kandeler2013-05-313-5/+7
| | | | | | | | | | The cause is not necessarily user intervention, but it is also possible that building for one configuration was stopped because a different one failed. Task-number: QBS-285 Change-Id: I248eda778c9cc7effa596a1d264da37d0e8348d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Check for valid build variant.Christian Kandeler2013-05-311-0/+8
| | | | | | | | | | | Otherwise error messages might be misleading. Note: The code assumes the current "debug"/"release" dichotomy and will have to be adapted once we allow users to provide their own build variants. Task-number: QBS-285 Change-Id: Ie972cdeaaad5d121f24e595217596e0bbaf34fd1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Doc: document the cpp moduleJoerg Bornemann2013-05-311-0/+340
| | | | | Change-Id: I951fe51fd805256009d799fccc4f1500500f3802 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Doc: fix \b command for Qt 4Joerg Bornemann2013-05-311-1/+1
| | | | | Change-Id: Ib4443df8324015e72dc9d05a48c5a67e944407ec Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix Windows buildJoerg Bornemann2013-05-301-0/+4
| | | | | Change-Id: I7c7a7bc08e9a7af823a524079caa8d02f1a8d611 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix crash on loading changed disabled products.Christian Kandeler2013-05-301-3/+7
| | | | | | | Task-number: QBS-271 Change-Id: Ic0a693c381a6e55b7d45204fe1fa907c806a6eaa Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* preserve symlinks when installingJoerg Bornemann2013-05-304-9/+69
| | | | | | | This is needed e.g. for installing OS X frameworks. Change-Id: I38c3e4ca2676b5c1e5da03d41628c6f7769bb8a8 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Check whether files listed in "files" property actually exist.Christian Kandeler2013-05-299-6/+10
| | | | | | | | | The fix breaks some existing test cases that used random strings as file names, so adapt those. Task-number: QBS-288 Change-Id: I63d6a75badd0114cdecfbcdb67128f457ddc61c7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix crash when encountering duplicate property bindingsJoerg Bornemann2013-05-292-2/+4
| | | | | Change-Id: I1ae17fb11cf057c76f386241356a99ea4a22019b Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add XFAIL test case for QBS-288.Christian Kandeler2013-05-283-0/+14
| | | | | | Task-number: QBS-288 Change-Id: I8044b8662574a3dc0ab762e4f9b593a6c3f4c0e2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Introduce ILogSink::printWarning().Christian Kandeler2013-05-2815-34/+34
| | | | | | | | | | | To be called when warning about some issue in a specific file. Can be overridden to e.g. display the problematic location in an IDE. This replaces the BuildJob::reportWarning() signal. Task-number: QBS-284 Change-Id: Ib5c14f6793c5b59144bfd9ff7ae11ae94416b2b2 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix relative paths with .. in wildcardsJoerg Bornemann2013-05-272-2/+31
| | | | | | | | | | | The absolute file paths that are returned by wildcards must not contain substrings like "..". Running those through QDir::cleanPath now. Autotest TestLanguage::wildcards enhanced. Task-number: QBS-287 Change-Id: Id6882d9d6eaa875bed42ac1830afef43a705b4da Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* fix error location for duplicate dependenciesJoerg Bornemann2013-05-271-0/+1
| | | | | | | The location for merged export items was not set. Change-Id: I6a3032165571ef77778271d4cee06dbeb725f4e9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix overriding of project propertiesJoerg Bornemann2013-05-235-16/+17
| | | | | | | | | | The overriding of project properties happened too late for project.references. Now it has been moved from ProjectResolver to ModuleLoader. Task-number: QBS-281 Change-Id: I69845abc876bda033eb52d3b8313f82ded0abebb Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix overrideProjectProperties testJoerg Bornemann2013-05-234-4/+20
| | | | | | | Now it will pass if helper_lib.qbs is referenced. Change-Id: Ie5aa925430890d2d846d3db412c67315cd992e4c Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix typo in CleanOptions.Christian Kandeler2013-05-231-1/+1
| | | | | Change-Id: I41ceddb89865be14eddccfc25ed5826f448af5d3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix error message for referenced non-product itemsJoerg Bornemann2013-05-231-1/+1
| | | | | Change-Id: Iba007b7d6c611f71512c8925ef968b71ced0889e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Don't install into sysroot by default.Christian Kandeler2013-05-2310-31/+69
| | | | | | | Task-number: QBS-249 Change-Id: I8c4dd985873afd48f65dbc1e368a52b4acadc9c2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Use private implementation in API classes.Christian Kandeler2013-05-2342-527/+1514
| | | | | | | | | While we do not promise a stable ABI at the moment, this is conceptually correct and has to be done sooner or later, with increasing effort the longer we delay it. Change-Id: Icc98443974e54d377167480ace601db4981ed43c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make phony_target hack work on mac even with qt 5.1Kai Koehne2013-05-231-1/+1
| | | | | | | | | See also change a4e593c910 in qt-creator. Change-Id: Ib41c68b9eaa7f844b624179efd24ca5ff31d3ebe Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* make sure that product.type is an arrayJoerg Bornemann2013-05-235-5/+27
| | | | | | | | | | Mark the property product.type as StringList and make sure that it ends up as array in JavaScript. This saves us from conversions when using it. Also react correctly on the values applicationbundle and frameworkbundle. Change-Id: I47d35beca60ba37644bc012ff55fe1b3df4cdf45 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add XFAIL test case for QBS-281.Christian Kandeler2013-05-235-0/+41
| | | | | | | Task-number: QBS-281 Change-Id: Ia9f3c50ace67ef7ee65242f8c83475bcdc289cf2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix shaky Windows blackbox testsJoerg Bornemann2013-05-221-1/+2
| | | | | | | | On our Windows test machine a timeout of 30 s is not enough. Set timeout to five minutes. Change-Id: Icbc719390f57d33c86fe828a209f3c6fa3ca5f9e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix overrideProjectProperties test for OS XJoerg Bornemann2013-05-221-1/+2
| | | | | Change-Id: I6ed287f4e696d48d704f19b49ff9f9283f5e7084 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* support response files in GCC toolchainJoerg Bornemann2013-05-221-0/+5
| | | | | | | | GCC supports response files with the prefix @ on all platforms. Task-number: QBS-276 Change-Id: Ib4b310bce95e51298f1eb81c2cdac96791589f9d Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove property cpp.responseFileThresholdJoerg Bornemann2013-05-222-4/+0
| | | | | | | | | | This is host-system dependent and does not belong here. We're relying on a sane default value. It can still be overridden if needed. Change-Id: If8137dd1f781a56053d2b9992ba80d561bd1e1ef Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix default value of ProcessCommand::m_responseFileThresholdJoerg Bornemann2013-05-221-2/+3
| | | | | | | | | On Windows it should be around 32000 and everywhere else negative. A value of 0 means to always use a response file regardless how long the command line is. Change-Id: I7c90bb536ca9cb9f5b41fe5dbdb50b27d7057136 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix Export item inheritanceJoerg Bornemann2013-05-226-15/+90
| | | | | | | | | There can only be one Export item per product. Therefore we must merge inherited Export items instead of just using the one on the lowest level. Change-Id: I80005736dcf737a22690a633c616f850859feb03 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix memory leak when regenerating transformersJoerg Bornemann2013-05-221-0/+1
| | | | | Change-Id: Id6e1528622688a814b5672fbd94009ebcff8afa6 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* make project properties available in rulesJoerg Bornemann2013-05-229-17/+64
| | | | | | | Blackbox autotest codegen enhanced. Change-Id: Ibeda7204477d06973a4e343d57da757c0bf47899 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* rename ProductModule to ExportJoerg Bornemann2013-05-2221-101/+117
| | | | | | | | | | | | The name "Export" reflects the characteristics of this item better than "ProductModule" and is also similar to what is used in other build tools. ProductModule is now deprecated. Support for it will be removed in 0.5 Change-Id: I736d51f40e547ec38e3922c0793a7b57890ecd47 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* don't pass ItemPool to Item::itemPropertyJoerg Bornemann2013-05-223-5/+4
| | | | | | | | The items this function creates should always go into the same pool the item itself is in. Change-Id: I36ba8543a545c11db40d2792f0f8f5833530bf32 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* support versioning of shared objectsJoerg Bornemann2013-05-213-5/+49
| | | | | Change-Id: I12d0d67ea96b1cea19e8f7e860245fcc8dc47937 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* unify cpp.toolchainInstallPathJoerg Bornemann2013-05-162-18/+20
| | | | | | | | | | | | Make sure that toolchainInstallPath is the path where the C++ compiler resides. This was already true for all toolchains but MSVC. This is more consistent than having varying meanings of this property and makes the code in Qt Creator's qbs plugin much easier. Change-Id: I74a6780b1bf03c6b456ec6e3a7305bd1d3ed5dd1 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* fix MSVC lib.exe callJoerg Bornemann2013-05-151-8/+1
| | | | | | | | Rely on the PATH variable in the build environment to call lib.exe like we do for all other tools. Change-Id: I3a89531882660b7d02169ff4c9a1f6cd26e5da48 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* adjust TestTools::testProfiles to latest changesJoerg Bornemann2013-05-121-3/+14
| | | | | | | | An invalid base profile is considered as error and is not silently ignored. Change-Id: I97315eb4ff9166bacda924c2d14a9ca64509fc98 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Tests: Fix transformer test plain execution on WindowsOrgad Shaneh2013-05-061-1/+3
| | | | | | | Running just HelloWorld.exe fails. Change-Id: Icf766bfdd3ec840fddd06edd925c465dc7a24cea Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add autotest for file dependenciesJoerg Bornemann2013-05-027-0/+60
| | | | | Change-Id: If33af0f7069983c7d403248bc4d979164dde0f4d Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix warning in src/lib/language/testdata/modulescope.qbsJoerg Bornemann2013-04-301-1/+0
| | | | | Change-Id: I23e75e8c0c70450c75bb3f0645ef97958b2e281a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* complain about non-existent base profilesJoerg Bornemann2013-04-302-0/+16
| | | | | | | Task-number: QBS-245 Change-Id: I2a6bba9a5bd75eaf2980708cb10e53d3844e82ae Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix overriding of project/product propertiesJoerg Bornemann2013-04-296-0/+42
| | | | | | | | | | | | Override project properties on the command line via qbs project.someProperty:foo and override product properties with qbs MyProduct.someProperty:bar Task-number: QBS-237 Change-Id: I95b83749625e58a67b7f9fc54d8c77a0d9b514e4 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* do not load the same module multiple timesJoerg Bornemann2013-04-293-0/+17
| | | | | | | | | | | | If there are multiple Depends items for the same module name then we must load the module only once. This can easily happen when using item inheritance. Autotest included. Change-Id: I1b592ecce8de21d2c4cd66097b16a4fe7cca71bb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add missing files in lib.qbsJoerg Bornemann2013-04-261-0/+2
| | | | | Change-Id: I636d473090e5b0f6aa9bfbc4eef59dc7731cab69 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix memory leak in loaderJoerg Bornemann2013-04-2524-305/+458
| | | | | | | | | | | | | | Cycles in the graph of item objects prevent us from using shared pointers. The whole structure is too complex to guarantee the absence of cycles in every case. To fix that we remove the smart pointers and introduce the ItemPool as the sole owner of all items of a project. Task-number: QBS-269 Change-Id: I53c55216598086b82d00ede08c56395062384834 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix cpp.precompiledHeader property for non-C++ filesJoerg Bornemann2013-04-252-36/+35
| | | | | | | | | | For now, this property is ignored for other languages than C++. Task-number: QBS-187 Change-Id: I3c0af7e60939bd3b934b7464919c3da52733b5fb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix documentation targetJoerg Bornemann2013-04-241-2/+3
| | | | | | | | We must pass QT_INSTALL_DOCS to qdoc, because qdoc doesn't know about it in Qt 5.1.x. Change-Id: Iccf5fc7bc194b0c5c39f0a8464977d1b85a4709d Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* introduce cpp.installNamePrefix to set LC_ID_DYLIB on OS XJoerg Bornemann2013-04-232-0/+11
| | | | | Change-Id: Ie679c2e495cfba33787e0754f5ce07584e8f2e1e Reviewed-by: Eike Ziller <eike.ziller@digia.com>