summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* save QT_CONFIG in Qt.core.qtConfigbaserock/morphJoerg Bornemann2013-07-252-0/+2
| | | | | | | | | We want to access the QT_CONFIG from Qt modules. The property will be used e.g. for determining whether we're dealing with an ANGLE build. Change-Id: Ic5cafc23c438c06e3b25ee73eca68c25aefc97ea Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* add QtANGLE include path for Qt ANGLE buildsJoerg Bornemann2013-07-251-0/+3
| | | | | | Change-Id: I5bbf71f331c51b29f5d63584c5bfb75058c75f12 Reviewed-by: Christian Stenger <christian.stenger@digia.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* automatic type conversion for property assignmentsJoerg Bornemann2013-07-252-2/+40
| | | | | | | | | | | When assigning a string to a stringList property we automatically convert the JS variable to an Array of strings. Similar conversions are implemented for Bool, Number and String. Task-number: QBS-38 Change-Id: I19f54f83e540b20f18ca505d8cd8011735d6418d Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix default value initializationJoerg Bornemann2013-07-252-12/+18
| | | | | | | | | | | | The default values for properties must be set in the property declarations to make them available in other properties. Affected were all condition properties, Group.overrideTags, Artifact.alwaysUpdated and Rule.multiplex. Task-number: QBS-341 Change-Id: Ia8d34341c43aed852a858d381ef39b1ba85dbd6e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* set up declarations for every builtin itemJoerg Bornemann2013-07-259-16/+33
| | | | | | | | | | | | Some builtin items that are injected after reading the project did not have any property declarations. The declarations contain the default values and we want to use the default values from the declarations in the next commit. Preparation for fixing QBS-341. Change-Id: Ic82375b8bfd9f1c092d2b4d9aab54c70dc866272 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix timed progress information for wrapped jobs.Christian Kandeler2013-07-251-0/+1
| | | | | | | This setting needs to be forwarded to the wrapper. Change-Id: I4d8ef440a38d45fa411abf9e972ebefaf6fa29d3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Rename Windows RT to WinRT. These terms have different meanings.Jake Petroules2013-07-252-2/+2
| | | | | | | In this context, we mean the Windows Runtime, not Windows on ARM. Change-Id: Iac76cb193b3b8040802105d8336282b8ee8f95e5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix progress bar for project resolving.Christian Kandeler2013-07-241-6/+5
| | | | | | | Assumed one single Project item. Now operates on the number of products. Change-Id: Ie74f93209163efee5793a88b39aef645980ac996 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix the property cacheJoerg Bornemann2013-07-243-20/+20
| | | | | | | | | | Cache the variant value. We must not cache the QScriptValue, because it's a reference and the user might change the actual object. Task-number: QBS-312 Change-Id: I34020e56beed34abe2a6e305f3a52e10f43547d4 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix caching of observer, project and productJoerg Bornemann2013-07-242-32/+35
| | | | | | | | | We stored the cache key in the engine and the cache value in the target object of setupScriptEngineForProduct. This was a result of the "don't use the global object" refactoring. Change-Id: Id6796bf60927d14b8968cbb3760d9ca2bcbb7933 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* make the line number in JS command errors less wrongJoerg Bornemann2013-07-241-4/+2
| | | | | Change-Id: Ib41691daf497d6587cb1d37b8a81728de4043e39 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* adhere to property types in profilesJoerg Bornemann2013-07-232-63/+74
| | | | | | | | This amends 8a059586cc109f97b2cfc456cb4262009191ce2b. Change-Id: Ib560bd1f72ce3020b1dacb384bfd007a964a6d51 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* fix tst_language dummy moduleJoerg Bornemann2013-07-232-1/+2
| | | | | | | | Disable dummy_base. Remove includePaths that's supposed to be inherited. Change-Id: I1245e386b8bd7d25786cf4786bfa3adb57b0ea65 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* make TestBlackbox::missingProfile work with default profilesJoerg Bornemann2013-07-231-2/+22
| | | | | | | We cannot rely on having no default profile on the test machines. Change-Id: Ie1d0c0868ad7f67da8d4b57793f070f5418eef36 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* add build option --check-timestampsJoerg Bornemann2013-07-2311-1/+72
| | | | | | | | | Give users the possibility to force qbs to read the physical timestamps instead of using the stored timestamps. Task-number: QBS-303 Change-Id: I6010515b5e8f97ec0b91069cbc7d8a1b0931dce5 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* yield error for cycles in project references and subprojectsJoerg Bornemann2013-07-239-11/+70
| | | | | | | Task-number: QBS-368 Change-Id: Ie260827fd2df2d211146958b4d8cafe8b3011ad0 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* provide "compile single file" functionalityJoerg Bornemann2013-07-234-0/+35
| | | | | | | | | | To compile just one single file without any further effects, pass the file name to BuildOptions::setChangedFiles, and the file tags of the desired results to BuildOptions::setActiveFileTags. Task-number: QBS-283 Change-Id: I70213b248e1e07fd7524a54f7f2e4f250621967f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* simplify JS command executionJoerg Bornemann2013-07-231-18/+11
| | | | | | | | | Do not modify the global object. Use pushScope/popScope instead of pushContext/popContext. Remove a futile caching attempt. Change-Id: I2c7440356db13db25c1770e9461ef6247d1bb7dc Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove superfluous engine mappingJoerg Bornemann2013-07-231-21/+7
| | | | | | | | JsCommandExecutorThreadObject is running in exactly one thread now. There's no need to save engines per thread anymore. Change-Id: I9328cf840789131397e7713efdc105f0b56aeee8 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* introduce FileTags::matchesJoerg Bornemann2013-07-233-5/+14
| | | | | | | | This is faster and easier to use than the !FileTags::intersect(...).isEmpty() pattern. Change-Id: I40e27704704df92544748a5d531be3542f91ce87 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove widgets dependency from qt5plugin testJoerg Bornemann2013-07-232-3/+1
| | | | | Change-Id: I580a2074660e1851f4e0bb476882009e25e6efbe Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Executor: do not throw in slotJoerg Bornemann2013-07-231-1/+1
| | | | | Change-Id: I95e2db29831104f9f5c917552e14cec68a0ded9e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* don't link against QtConcurrentJoerg Bornemann2013-07-232-2/+0
| | | | | | | | Task-number: QBS-68 Task-number: QBS-307 Change-Id: I1da3c16f3e68d494664ff1f1bd2e354a48161303 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove QtConcurrent dependency from internal job classesJoerg Bornemann2013-07-223-94/+137
| | | | | | | | | For rationale see dc78a3c1. Task-number: QBS-307 Change-Id: Ia9dcfd52e9c71964c0bd788dffc98dfbdd0aef91 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove QtConcurrent dependency from JsCommandExecutorJoerg Bornemann2013-07-222-42/+71
| | | | | | | | | | | | Fewer dependencies makes bootstrapping easier. Also, this prevents a potential deadlock on single core machines when the executor is run through QtConcurrent, like in Qt Creator. Task-number: QBS-68 Task-number: QBS-307 Change-Id: Id5383a2b5a6bf0d7880f0969e3730c3606e8b1d9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix overriding of stringList propertiesJoerg Bornemann2013-07-194-0/+29
| | | | | | | Task-number: QBS-369 Change-Id: I602551ed740a81279412cc631c5e35f601a46903 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* split overridden values off the build configurationJoerg Bornemann2013-07-1912-36/+149
| | | | | | | | | | | | Property values in profiles now serve as default values for module values. Property values given on the command line override properties that are specified in files. This way it is possible to specify a property value in a profile but override it in a file or on the command line. The hierarchy is profile < file < command line. Change-Id: I786ef5a215312779ed1b79ed64f856b82c612403 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix property types in language testJoerg Bornemann2013-07-191-2/+2
| | | | | Change-Id: I2c802699ab8db6d7286ccc58b364656145129b11 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Set engine environment before starting the module loader.Christian Kandeler2013-07-163-10/+6
| | | | | | | | This was wrong all along, resulting in potentially different results of calls to qbs.getenv() during evaluation. Change-Id: I1e4ef50802f1248dfcbd0ac1c036a8fcfaf5e1b6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Use previous results of calls to "File.exists()" in change tracking.Christian Kandeler2013-07-1611-5/+68
| | | | | | | | This is the same kind of "external change" as those coming from the environment or JavaScript files, and is thus handled the same way. Change-Id: I0a097d6d5c39ece859e6784f65f77f35a7273d59 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Handle "indirect" changes to a product's file list.Christian Kandeler2013-07-169-34/+84
| | | | | | | | | | If the list of source files in a product changed without the respective file having been touched (e.g. because the list was dependent on an environment variable), we re-resolved the product, but we did not touch the build data, so the new file was not compiled. Change-Id: Ib63020339aa0bbc2a858ed22f938ab76fb0611c5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Refactor BuildGraphLoader::trackProjectChanges().Christian Kandeler2013-07-162-73/+103
| | | | | | | | | | It's becoming hard to keep an overview of which checks are being done to find out whether we need to re-resolve, so introduce one function per check. In addition, skip checks if we already know we need to re-resolve. Change-Id: I6abeb41c6089e7fb7a0bfa2e69361ab8e58f477f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make Info.plist composition more robust: followup.Jake Petroules2013-07-151-0/+3
| | | | | | | | Missed a few variable declarations. Task-number: QBS-348 Change-Id: Icfe904401c1b7b7b1300ddf0225ff9d25f5fced6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* don't link frameworks transitivelyJoerg Bornemann2013-07-121-2/+2
| | | | | Change-Id: I00443f33331e851838304f12aea7644b352839c8 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Properly support disabled projects.Christian Kandeler2013-07-127-4/+28
| | | | | | | Until now, this only worked for SubProject items. Change-Id: Id63424883d0c120567860f225f112635c7ea0c82 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make Loader more reusable.Christian Kandeler2013-07-122-0/+4
| | | | | | | | JavaScript exceptions left over from previous runs could interfere with evaluation, so clean those up first. Change-Id: Id7908a1bdc3b1709fa494c13d833cf993799f566 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make Info.plist composition more robust.Jake Petroules2013-07-121-28/+48
| | | | | | | | | Building will no longer fail if the platform, SDK, or toolchains' respective plist files do not exist, or if an SDK path is not specified. Task-number: QBS-348 Change-Id: Ie66194c09700a38b1c0ce39c4641af27580aefd6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* GenericGCC: do not link shared objects transitivelyJoerg Bornemann2013-07-121-1/+1
| | | | | | | This is consistent with the libraryPaths property and MSVC. Change-Id: I3bc9a17640e89d61764abb8fa5736f1b47d1663f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove superfluous setProperty callJoerg Bornemann2013-07-111-1/+0
| | | | | | | The defineProperty call above already does the job. Change-Id: I8db611d113f4e085767e8bd3ea4695eb458e25b5 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Remember all the properties read in prepare scripts.Christian Kandeler2013-07-116-1/+52
| | | | | | | | | The current code throws some away due to wrong assumptions about when Transformer::createCommands() is called. Task-number: QBS-360 Change-Id: I0f2360d5b56bda3b683aa580ee823089255b6e76 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make sure no remains of removed products stay in the build graph.Christian Kandeler2013-07-1111-56/+114
| | | | | | | | Namely, artifacts in transformer inputs of (former) parents. Task-number: QBS-358 Change-Id: I19e6cf6cd50e4d99c49e2e570daf163da25a3a79 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* MSVC application linker: do not link DLLs transitivelyJoerg Bornemann2013-07-111-1/+1
| | | | | | | This is consistent with the DLL linker. Change-Id: Ib552d5b3d0e9c6b9416e40b61b0ff71ee190fdea Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Only add QtTest dependency to lib if the unit tests are enabled.Christian Kandeler2013-07-112-2/+5
| | | | | Change-Id: Iaf89c1db04bd44107c166f10cd933854bade8a6e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix exit code handling in blackbox test.Christian Kandeler2013-07-111-1/+1
| | | | | | | | Apparently, QProcess::exitCode is often (always?) zero when the process crashed, so take that into account. Change-Id: I5d254d16bb7a06c7940f19abb3bef80bba99b3c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix casing error in FileInfo import in PathProbe.Jake Petroules2013-07-091-1/+1
| | | | | Change-Id: I14b9e4b8d603cc6584e20d0dce0339120df91662 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* add Qt modules axcontainer and axserverJoerg Bornemann2013-07-052-0/+29
| | | | | Change-Id: I4afbfed6507e98c1ac5e5ede8b318e5721b87974 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Do not use an "as" specifier for URI imports.Christian Kandeler2013-07-0525-20/+20
| | | | | | | | Also rename "fileinfo" to "FileInfo" and "probes" to "Probes", to make the default name more conventional. Change-Id: I86ed29e299b8a9c2f40244c098d57a3ec8b68397 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Remove the requirement for an "as" specifier in URI imports.Christian Kandeler2013-07-052-7/+15
| | | | | | | We just use the last URI component by default. Change-Id: I0b8bf29a84a61ff6772805e538928b5078dfa2f9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix qt.proJoerg Bornemann2013-07-051-1/+1
| | | | | | | | This plugin doesn't need QtXml. We've used the wrong variable anyway. Change-Id: If33b86ddc11352e3cc8e72cd43a0a36594c3cac9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove strange default values for MSVC pathsJoerg Bornemann2013-07-051-2/+2
| | | | | | Change-Id: Ibf4e56af8898f553eed229452ca13e5c35b9be37 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>