aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* API: Consider auxiliary inputs when collecting transformer datav1.12.0Christian Kandeler2018-07-121-0/+5
| | | | | | | | | All auxiliary inputs are guaranteed to be present when a rule's commands run, so they must be added to TransformerData::inputs. Change-Id: I4c58f567ab603868aae180d931225edf7f9dcbf9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update link for minimumWindowsVersionOrgad Shaneh2018-07-111-1/+1
| | | | | Change-Id: Ibb98b4a9166e3cd61fe9aacd0e6a5a2eb9eb7624 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Autotests: Prevent another false positive on slow CI machinesChristian Kandeler2018-07-111-0/+1
| | | | | Change-Id: I3577f425e40e1c19e5876e5d71f27455779a330e Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Consider Rule::excludedInputs where neededJoerg Bornemann2018-07-103-1/+6
| | | | | | | | | ...and add an assert that ensures that excluded inputs never appear in the rule application. Task-number: QBS-1171 Change-Id: Ia71c3224807bd9370f0d5048db45d6f9fb570fa1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* MSVC Probe: Expose WindowsSDKVersion and WindowsSdkDirJoerg Bornemann2018-07-101-1/+2
| | | | | | | | Those two environment variables are needed for the WinRT build of Qt. Task-number: QTBUG-68144 Change-Id: Ib07c86971ffb7951b2c533b6e900bf6247e9f08f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* MSVC: Suppress "performing full link" messageOrgad Shaneh2018-07-101-1/+1
| | | | | | | | | | | | Building a DLL in debug mode for the first time shows the following error message, which also causes the entire command to be printed out: LINK : F:\Projects\...\Library.dll not found or not built by the last incremental link; performing full link Change-Id: I17d530e184074796b17178ae9efce66bc877ffa2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update the timestamps of file dependencies of rescued artifactsChristian Kandeler2018-07-104-2/+11
| | | | | | | | | | | Resetting the timestamps of file dependencies happens per artifact before the rescue procedure, so any dependencies added there must get their timestamp reset explicitly. Task-number: QBS-1359 Change-Id: Iec22b105a4132ada65b52391d4212c3b9ba52a2a Reviewed-by: Ola Røer Thorsen <ola@silentwings.no> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* benchmarker: Fix crash when called with no parametersChristian Kandeler2018-07-101-1/+8
| | | | | | | The crash was accidentally introduced in da6c0e5058. Change-Id: If3a1ed1633fc8bb6aaf736859a89e1b7c17777c2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Autotests: Prevent another false positive on slow CI machinesChristian Kandeler2018-07-061-0/+1
| | | | | Change-Id: I0ecc59ff2277be198415332af405394043fa77d4 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Autotests: Prevent another false positive on slow CI machinesChristian Kandeler2018-07-061-0/+1
| | | | | Change-Id: I365acd2eb6fd27d3b31bcf7d84c00039166781ec Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix TestBlackbox::pluginDependency on MacChristian Kandeler2018-07-051-2/+4
| | | | | | | | One of the checks fails in 1.12, because we still list "qbs" as an input file tag in the bundle module. Change-Id: I8f033e4dc653989b153182c11e6607afe5658e6e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* ModuleLoader: Fix misleading error messageChristian Kandeler2018-07-045-0/+21
| | | | | | | | | If a product could not get properly loaded and a per-product property override was given on the command line, we used to erroneously complain about the property override instead of reporting the real error. Change-Id: I1cbbc8ff9b6dcd453563c4745778576342862ca3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Cover dependency parameter change tracking in autotestChristian Kandeler2018-07-042-2/+20
| | | | | Change-Id: I180feccc60857a5431e1c55354e478824f62b6fe Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove quotes and escaping from debug logsOrgad Shaneh2018-07-035-27/+28
| | | | | | | | | | | Before: qbs.exec: adding leaf "RULE [c_pch][c_pch_src] [test] located at F:\\Projects\\qt-creator\\build-qtc\\share\\qtcreator\\qbs\\share\\qbs\\modules\\cpp\\GenericGCC.qbs:616:18" After: qbs.exec: adding leaf RULE [c_pch][c_pch_src] [test] located at F:\Projects\qt-creator\build-qtc\share\qtcreator\qbs\share\qbs\modules\cpp\GenericGCC.qbs:616:18 Change-Id: Ia1bcc197b9ce71934febbde7515b5d71d3cde0db Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Autotests: Prevent another false positive on slow CI machinesChristian Kandeler2018-06-291-0/+1
| | | | | Change-Id: Id35b1843da772f703f1b2cb60487f9513c0a8efc Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Autotests: Allow to parameterize the "file unlock grace period"Christian Kandeler2018-06-292-4/+13
| | | | | | | | ... via the environment. This should help reduce false positives in our CI. Change-Id: I28492b4e476289f2d9418a272b167d9a679ebc5f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* GCC: Do not add non-existing paths to cpp.systemRunPathsChristian Kandeler2018-06-281-1/+2
| | | | | | Change-Id: Ib8db4e47b9f9982152b46ec7ada4696456185cf4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* GCC: Filter libraryPaths for entries from systemRunPathsChristian Kandeler2018-06-261-1/+10
| | | | | | | | | ... when constructing the command line, the same way as we already did for rpaths. Change-Id: I7d69e85fe4ba9a5659653a941adcdbe6cc328a67 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Do not crash on invalid property assignment in Export itemChristian Kandeler2018-06-263-0/+33
| | | | | | | | | | | The crash would happen when creating the export information for a product whose Export item contained an assignment of the form "x.y: original", where x is not a module and the assignment was inside a Properties item. Task-number: QBS-1362 Change-Id: I900857fcd97852360ec2b75de1b7a791fd948dc4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix module property access trackingChristian Kandeler2018-06-251-6/+8
| | | | | | | | | Track all accesses, regardless whether the value comes from the cache or not. Accesses are tracked per transformer, but the cache is per product/ group. Change-Id: Ia0c856268fe6a3f199103a89604cd3909e6a4308 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* setup-android: Fix case where there is only one architectureChristian Kandeler2018-06-251-2/+6
| | | | | | | | There is no multiplexing in that case, so we have to set qbs.architecture instead of qbs.architectures. Change-Id: I2f96bfd6b67a6ef45882ba5ce9eb35ab2317e8b2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Provide an error location for invalid property assignmentsChristian Kandeler2018-06-253-14/+32
| | | | | | | | | | ... of the form "x.y.z: value", where there is no module x.y. The errors printed in this case did not have a location, because none of the value items are proper module instances and we did not keep track of the chain of parent items. Change-Id: I2da4da7beb5bd6f6d185a63c90d42340c9e30492 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Properly diagnose invalid module property assignmentsChristian Kandeler2018-06-256-5/+84
| | | | | | | | | ... if the non-existing module name has more than one component. We inadvertantly skipped the check in that case. Task-number: QBS-1362 Change-Id: I1fcababee1ea70c3133bd1b1c8f8f32f8450a0e8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix the exportsQbs autotest for mingwChristian Kandeler2018-06-251-1/+1
| | | | | | | | Fun fact: If the file path you pass to the linker via -o does not contain a dot, then mingw will append ".exe". Change-Id: I4a4133c99fc63fd91e47c905ca902d3eb26b1146 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix rule input tags in the Exporter modulesChristian Kandeler2018-06-223-6/+31
| | | | | | | | | | We need to make sure all the artifacts are present in the build graph before writing the respective interface file, but we don't need to rewrite it if these artifacts are rebuilt. So use auxiliaryInputs instead of inputs. Change-Id: I82dee65f6630a0bbd24245df9100e4dabf0320f2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Benchmarker: Keep the temp data in case of a failureChristian Kandeler2018-06-221-5/+8
| | | | | | | So the problem can be more easily investigated. Change-Id: Ia968a4e42164cce5b3f67d9e8a29ccd5b24e3eaf Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* setup-toolchains: Fix another possible QProcess timeoutChristian Kandeler2018-06-211-1/+1
| | | | | | | This amends a838fd2328. Change-Id: I6ef5b0f87190a95025e3c949162cd8b0e4c4f64c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Give more help in 'No such product' error messageKai Koehne2018-06-211-3/+14
| | | | | | | | | | | If a user did specify a product that's not available, he most likely wants to see the product names actually available. For up to ten products, we just list the names of the products now. For a longer list of products we point to list-products command. Change-Id: I19ef16b2cf6172f02024d9dfb4c19cb81a5600a3 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Consider Transformer::explicitlyDependsOn when disconnecting artifactsChristian Kandeler2018-06-201-0/+1
| | | | | | | | | This was forgotten in d0e8197bbf. As a result, transformers could hold references to invalid artifacts, resulting in a crash when storing the build graph. Change-Id: I6af0d15d0c0ad44f1f9011c88e413f327a05943d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Don't link to multiplexed libraries when depending on the aggregateAlexandru Croitor2018-06-206-0/+76
| | | | | | | | | | ... library, this can lead to warnings or linker errors. Most easily seen on macOS when multiplexing across multiple architectures, and an app ends up linking against multiple multiplexed variants of a dependent product library. Change-Id: I4ea4b419099a1010f7b8c32ee11079da93f1d236 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Do not collect exported properties for disabled productsChristian Kandeler2018-06-191-0/+6
| | | | | Change-Id: I1d4e8a28485f421e3bcefe7e498fdc1a3ba99f98 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix lex_yacc autotests for winbisonChristian Kandeler2018-06-189-5/+47
| | | | | Change-Id: I3209a71c21ea1f91d232ab2bb607fa81c9751ad7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* MSVC: Relax version check for /WHOLEARCHIVEChristian Kandeler2018-06-182-2/+2
| | | | | | | | The flag is supported in earlier compiler versions than our code assumed. Change-Id: I5bc32c29c61885ca38e60bb8a000250a11d32b0c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Catch mis-use of "original" as default property valueChristian Kandeler2018-06-185-0/+35
| | | | | | | | This used to cause an infinite recursion, eventually crashing after running out of stack space. Change-Id: I073f7163d73a70b17bab078c8a99199bc9d21eaa Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Document the list-products commandChristian Kandeler2018-06-151-0/+63
| | | | | Change-Id: I948e6251a97b0af94081255a79c11b18d6c8e9d4 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix CLI documentationChristian Kandeler2018-06-1511-11/+11
| | | | | | | Adapt to the change in how to specify the build configuration name. Change-Id: Ia339d3c991e7b9f82b23ed7f40c5eea19f003dd1 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Check for duplicate entries in multiplex propertiesChristian Kandeler2018-06-155-4/+39
| | | | | | | | | This used to lead to an error message about duplicate product names, which left the user in the dark about the actual problem. Change-Id: I460dcdf89112124cfd303529d42acd6c13fe9155 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix FileInfo::isDir() on UnixChristian Kandeler2018-06-141-1/+3
| | | | | | | | The function could return true for non-existing files. This amends b29168f50, which erroneously assumed that could only happen on Windows. Change-Id: Ic5fa50b2035b52ff078194624623a7b46e90672f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qtprofilesetup: Remove unnecessary "product" qualifierChristian Kandeler2018-06-141-1/+1
| | | | | Change-Id: I9e96032baad8519af44e694dcee12cdb149a4991 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Call QProcess::waitForFinished with timeout of -1Joerg Bornemann2018-06-143-5/+5
| | | | | | | | | The default value of 30 s can be too short for environments like virtual machines under heavy load. Task-number: QBS-1360 Change-Id: I83af7740dc842faf8795f5901f36744229160154 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Make RescuableArtifactData::children a std::vectorJoerg Bornemann2018-06-143-4/+3
| | | | | | | The value_type ChildData is not suitable for QList. Change-Id: I33057a739c26e36a7c6dabc44dad72262a05cdb0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix C4267 warningsJoerg Bornemann2018-06-141-1/+1
| | | | | | | | | This fixes the following warnings: executor.cpp(832): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data executor.cpp(832): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data Change-Id: Ic23b855b8213a7b4feee81553233ad882a6c8ed2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* RulesApplicator: Remove unnecessary qualificationsChristian Kandeler2018-06-141-10/+6
| | | | | Change-Id: Id917d2b9c831f6ddf43f81790dd632a206019680 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix RulesApplicator::InputsSourceFlagChristian Kandeler2018-06-141-1/+1
| | | | | | | | This enum is used for a QFlags type, so we cannot have a zero value in there. Change-Id: Ifd935c398065b0706cb0fba85c1752c448c26f4c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Makefile generator: Improve dependency collection performanceChristian Kandeler2018-06-141-9/+7
| | | | | | | | Use the output artifact's children directly rather than "manually" collecting the input artifacts from the rule input tags. Change-Id: I3a31d24471a963c1881e89d76da61b0bcf28cc1a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Doc: Fix typoJesus Fernandez2018-06-131-1/+1
| | | | | Change-Id: Ifdcf21c004bae0a2e20a7b5c529466b4a7da8efe Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Prevent adding empty file paths as dependenciesChristian Kandeler2018-06-085-3/+22
| | | | | | | | | The input artifact scanner was missing a check, so empty paths could end up in the list of file dependencies. As a result, the respective artifact would get rebuilt every time. Change-Id: I34e48776856224dc885f03d34d40cae88d7d5e4b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix VS toolchain compatibility matchingJoerg Bornemann2018-06-081-1/+8
| | | | | | | | | | VS 2017 15.0 (_MSC_VER 19.10) builds of Qt are compatible with later Visual Studios of the same major version, e.g. VS 2017 15.7 (_MSC_VER 19.14). Change-Id: I7635f6e2be6591245c1056045128e546c23bacd2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix Windows build with QtScript-less QtJoerg Bornemann2018-06-085-3/+60
| | | | | | | | As we're building our own QtScript statically, we must override the export macros of QtScript. Change-Id: I9395e59cfcc1905b7b248b81277ec5fcfed9059f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Change tracking: Do not rescue outdated child artifactsChristian Kandeler2018-06-084-9/+84
| | | | | | | | | | | | | If a former child artifact is not in the list anymore after the rules applicator has run and it was not originally added as a result of scanning, then it is no longer a child artifact. We used to add these artifacts back to the list of children, so that an existing parent/child connection persisted even after changing the rule input tags in a way that the child would not match anymore. Change-Id: I700f515bbe5732bdb9251d48e3fc5ad53fb181cc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>