summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ModuleLoader: Fix adjustment for multiplexed dependenciesv1.9.0Christian Kandeler2017-09-014-147/+169
| | | | | | | | | We erroneously gave the responsible function only a local project view instead of the global one, meaning dependencies could fail across subprojects. Change-Id: I18155df39cb981aed36e204ea2a85ed26a7eb6c7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Document the relevant file tags of the ib moduleJake Petroules2017-08-302-0/+54
| | | | | | Task-number: QBS-934 Change-Id: Iab702d0f450bf4335030f5f927cbf4b92cc61652 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Document the relevant file tags of the wix moduleJake Petroules2017-08-291-0/+43
| | | | | | | Task-number: QBS-934 Change-Id: I351fcaead747bc7fab4eee11d53998c8c77d2150 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Document the relevant file tags of the nsis moduleJake Petroules2017-08-291-0/+26
| | | | | | | Task-number: QBS-934 Change-Id: I7e68da609dbf57f7d280335511d9b3a9fe6e9083 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Document the relevant file tags of the bundle moduleJake Petroules2017-08-291-0/+6
| | | | | | | Task-number: QBS-934 Change-Id: I1abd73c9ff41ddc1b65a7b50cbd383c06cd6a005 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* cpp module: fix detection of ARMv8 (32-bit) architectureJake Petroules2017-08-291-1/+1
| | | | | | | | qbs.architecture is now set to "armv8" instead of "arm" for this architecture. Change-Id: I6d33e9c34ae8e617d6d194981f6051b3a09f643a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* resolveSymlinks: Fix relative symbolic links on WindowsOrgad Shaneh2017-08-281-1/+1
| | | | | | | | | | | | | Works around QTBUG-62802. When a (real, not lnk) symbolic link on Windows references a relative path, the absolute path is not resolved. Using a QFileInfo with this relative path will reference the path relative to the PWD instead of relative to the link. Change-Id: I2edacb6d368e28fa240e7a866692391cf67f0ca2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Chocolatey package: update owners list; qbs now has its own accountJake Petroules2017-08-281-1/+1
| | | | | | Change-Id: I0128f3dc7869efb5db2ac3dbb5a5aa140e5e8b98 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* mingw: Fix manifest ruleChristian Kandeler2017-08-281-2/+4
| | | | | | | | The "inputs" parameter is not an array. Change-Id: I30355eb5e6fad7749a28d15453196f05add8dd17 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix dependency tracking when using --check-timestampsChristian Kandeler2017-08-287-1/+39
| | | | | | | | | | | The --check-timestamps option is meant to be used to reconstruct a build after accidentally removing the build graph file. This means we must re- scan sources even though they appear up to date, in order to reconstruct e.g. dependencies between C++ sources and headers. Task-number: QBS-1178 Change-Id: I19ac385e57ceb7fcbba2df1ef24497935c067512 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add code attribution documentationKai Koehne2017-08-242-0/+214
| | | | | | | | | | Manually add the documentation generated by qtattributionsscanner out of the qt_attribution.json files. We can generate these on the fly once we can depend on Qt 5.8. Change-Id: Ia898044e854d473ae93ba07a9ff21e043ba29a29 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix problems with drive root paths on WindowsJake Petroules2017-08-234-12/+36
| | | | | | | | | | | | | | | This patch ensures that paths are correctly resolved against drive roots on Windows, for example, resolvePath("C:\\foo", "..") now results in "C:\\" rather than "C:" which is actually a relative path. It also fixes a related issue in the product installer where one character may have been truncated from the middle of a path since the (absolute) prefix was always assumed to NOT end with a slash, which is always canonical on Unix but not necessarily on Windows in the case of drive roots where a trailing slash is necessary to differentiate from relative path of the current drive. Change-Id: I6c5ab1de517bb6933c3b4aebdd22236bb71c1d37 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Support MSVC's /std optionChristian Kandeler2017-08-236-2/+135
| | | | | | | | | | We failed to notice that it was introduced with update 3 of VS 2013. [ChangeLog] The cpp.cxxLanguageVersion property now gets mapped to MSVC's /std option, if applicable. Change-Id: I00d45aecefb2ad27f2b5891d62d591179f2dbeec Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Revert "Generate code attribution documentation"Christian Kandeler2017-08-236-57/+3
| | | | | | | | | This reverts commit c75285b0b6c2d10a08acdc78c0554831c42c52c6. The qtattributionscanner was introduced in Qt 5.8, while our minimum Qt version is 5.6. Change-Id: I444058236e946584fc133a9a7ee93fa1a9969b94 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Generate code attribution documentationKai Koehne2017-08-236-3/+57
| | | | | Change-Id: I692efc667d5e9713afee0cd2ee155ac24ed3de56 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Simplify export macro definition of the QML parserJoerg Bornemann2017-08-223-2/+9
| | | | | | | | | | | We always want QML_PARSER_EXPORT to be empty. Enforce this by adding the necessary preprocessor macros directly in qmljsglobal_p.h. This removes the need to define QT_CREATOR and QML_BUILD_STATIC_LIB=1 in our project files. Also, we failed to do it correctly and always dllimported the QML parser's symbols. Change-Id: Ibecb2582546385c2067bd01edaba8694aa057e51 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Do not modify libraries in the NDKChristian Kandeler2017-08-221-8/+26
| | | | | | | | | They don't belong to us, and they may not even be writable. Instead, make the strip command create a new file. Task-number: QBS-1176 Change-Id: Ifd387d3fbcf475e662344ceefa6d289b45c4ae16 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix MSVC linker warningJoerg Bornemann2017-08-224-4/+4
| | | | | | | | Ensure that export macros appear only once per declaration. This fixes the warning "C4141: 'dllimport': used more than once". Change-Id: I65bdbb8db574e49ad9fddfa5d2071f4715ed1265 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Docker: check that the installation of Chocolatey packages succeedsJake Petroules2017-08-221-4/+4
| | | | | | | | | | | | In some versions of Windows with a certain set of patches installed, the Visual C++ Build Tools installer has been observed to fail during initialization but still exit with zero status causing a silent failure. This patch ensures that it won't be possible to build a Docker image where the build tools didn't actually get installed. Change-Id: Ibc90b476dae901651002a3619f7c1dbec38bc51b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Docker image: update to the latest* Windows 10 patch releaseJake Petroules2017-08-221-1/+1
| | | | | | | | | | | | *We actually only update to 10.0.14393.1480 and not 10.0.14393.1593 because at the time of writing, .1593 causes the installation of Visual C++ Build Tools to silently fail. Safeguards against this failure will be provided in a subsequent patch. Change-Id: I3b643592a5948daafc00f84489e54211679666cc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add Windows UAC fix to qbs-setup-android and qbs-setup-toolchainsJake Petroules2017-08-214-0/+27
| | | | | | | It was only applied to qbs-setup-qt, but missing from the others. Change-Id: I3f2dd63c717d9117a8699fc76bac93e573cad60c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix edge case in change trackingChristian Kandeler2017-08-218-0/+60
| | | | | | | | | Under certain circumstances, transformers could lose the information about properties requested by their commands. Make sure this doesn't happen anymore. Change-Id: Ib224cd8425760543ae805875024e7886f67825fe Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Qt, iOS: add platform plugin linker flags only to the platform pluginJake Petroules2017-08-161-4/+6
| | | | | | | | The platform plugin should not be a dependency of every module. Change-Id: Icf4cad08c145349fe82495b5da15029576634d9f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix iOS linked libraries for Qt 5.8+Jake Petroules2017-08-162-5/+7
| | | | | | Task-number: QBS-1155 Change-Id: Ifba12c84d8d803706ac27406bec8f9696ccb9c64 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Don't set the *_DEPLOYMENT_TARGET environment variables to empty stringJake Petroules2017-08-141-8/+8
| | | | | | | | | | | | | | | | | | | | This is a partial revert of a7247ff1cde96864243eba3bf5d36d6b5bded2d6, which caused Qbs to set the *_DEPLOYMENT_TARGET environment variables to the empty string if no value was provided for the deployment target. The empty string causes problems for some tools like `strip`, which passes the empty string verbatim to the -*_version_min flag of an internal invocation of `ld`, which is not allowed. Presumably the original intent was to influence the target platform that the compiler would use, but this does not work (at least with current toolchains) if the value is the empty string. It also shouldn't matter since we use -target now, which explicitly states the platform. In that case, the compiler will choose a minimum version internally if one is not explicitly given. Change-Id: I7d9f12bb52bf3289c0c5e3353a928c8cb0be9531 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ModuleLoader: Remove invalid assertionChristian Kandeler2017-08-143-4/+35
| | | | | | | | The assumption that all list properties must have acquired a defining item at some point is simply wrong. Change-Id: I34d035e50b5d5cd8c62f1baba899326b92ade8d1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix buildChristian Kandeler2017-08-141-1/+1
| | | | | Change-Id: Ib8d2ba1860bb1e64dce149afb8a1bfd2ac10f604 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix build data rescuing when multiplexingChristian Kandeler2017-08-148-8/+36
| | | | | | | | The code assumed that we could only multiplex over profiles, which is no longer true. Change-Id: Ia0a522b701d3ed983d484d0683e1417ab2adeb94 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add autotest checking that module loading respects property overridesChristian Kandeler2017-08-145-0/+50
| | | | | Change-Id: I938cb7a27d1bcc5cd9885a3aae7b5a076edb9ef2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix help outputChristian Kandeler2017-08-081-1/+1
| | | | | | | | The term "Internal command" is ambiguous. Change-Id: I0d1c84bf813256ea9ac96582994e07106f36f4ea Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Add reference pages to index.htmlKai Koehne2017-08-041-0/+12
| | | | | | | | | | | | | The reference is arguably the most important part, so it makes sense to link also to sub-sections from the main page. One of the issues is that the sub-pages are not properly 'linked' with nextpage and previouspage. Anyhow, this should not block us from making the index page more useful. Change-Id: I1c80345795c1df294d07f7a31b613a24df341cb3 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix recursiveWildcards() autotestChristian Kandeler2017-08-031-0/+2
| | | | | | | | We forgot to wait for a new timestamp before doing the file system updates. Change-Id: I23bdcabc397d2b490c81cd6e894fb9929b2f7c62 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update third party DMG dependenciesJake Petroules2017-08-034-14/+15
| | | | | | | | | mac_alias is updated from 2.0.4 to 2.0.6 and biplist is updated from 1.0.1 to 1.0.2 since pip has trouble properly updating packages, so now we download all packages directly from our Git forks. Change-Id: Ia8533b90a19483763f6e48693124361eb32c3651 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix change tracking for wildcardsChristian Kandeler2017-08-033-3/+63
| | | | | | | | | | The code that stored the directory timestamps erroneously assumed it would get called recursively in the case of a "**" construct. As a result, the mechanism failed for files created or removed anywhere else than in the first level of the directory hierarchy. Change-Id: I8978e1fb8daa63e402be02bb47d171554703b54f Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Do not access the bundle module unconditionallyChristian Kandeler2017-08-0232-66/+176
| | | | | | | | | | It is a mistake that the NativeBinary item currently pulls in the bundle module unconditionally (and also that the module is enabled everywhere). We want to change that. Prepare for the change by removing all unconditional accesses to the module's properties. Change-Id: If57b8222c1a0e2b09c33520882446fa71401f1f1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* cpp module: Fix the GCC compiler path probeChristian Kandeler2017-07-311-1/+1
| | | | | | | | | The toolchain prefix was missing in the compiler file name, which lead to interesting effects, as the probe would potentially detect a wrong toolchain install path. Change-Id: I09fe63c5b9860506fe86ade60a74851d428438c8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Cpp module: Fix mingw's setupBuildEnvironment scriptChristian Kandeler2017-07-311-2/+2
| | | | | | | The host OS is not necessarily Windows. Change-Id: Ie17349f215cbd3acd252755387a668b794ff2cbe Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Autotests: Ensure that waitForNewTimestamp() always terminatesChristian Kandeler2017-07-311-3/+8
| | | | | | | | | | Apparently, the abovementioned function has been observed to run seemingly forever in certain environments. Fix that by no longer requiring an actual file timestamp change for it to terminate. Task-number: QBS-1169 Change-Id: I9798309d179b0b6f8857ca8a4a5c1236ca162c27 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Revert change to module merger that broke overriding list propertiesChristian Kandeler2017-07-313-9/+25
| | | | | | | | | | | ... from the command line. The original change was part of 41595d0cf8, but it is not clear anymore exactly which problem it was supposed to solve. It may well be that it only worked around a temporary problem that no longer existed when the patch was merged. Task-number: QBS-1152 Change-Id: I7e89cf4bf64ef5c8dae5e598154403d4909969c0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update third party DMG dependenciesJake Petroules2017-07-2810-146/+221
| | | | | | | | These are now all pure and untouched from upstream. Change-Id: I0721258122bd72a89114bbdd3ab8f8ca7482a988 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Docs: Add "Properties" section to those items where it was missingChristian Kandeler2017-07-274-0/+8
| | | | | | | | The table of properties looks strange when it's just dumped there with no context. Change-Id: Ia791c8b1a7f336840d4a7f256bf15bb4483b9ed6 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix false positive in change tracking codeChristian Kandeler2017-07-271-2/+3
| | | | | | | | We needlessly re-resolved under certain circumstances (namely, when the "resolve" command was used and no explicit profile was given). Change-Id: I0e0d106059e2c32d441e1c13152a7d9b07448b32 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix glitch with new module property access syntaxChristian Kandeler2017-07-272-2/+4
| | | | | | | | | | There was a problem with multi-component module names: It was not possible to use constructs like 'input["Qt.core"].x', which made it practically impossible to pass module names in variables and use these to access properties. Change-Id: Ic200ba2dcfd4abba51a5ed84cf67a3e090c11d7c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Move the Docker documentation out of the README and add more detailJake Petroules2017-07-262-18/+82
| | | | | Change-Id: I40fdbc15a8e90817de0721efc161c0c3ecf72cf7 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* MSVC: Fix 'inconsistent dll linkage' warningsKai Koehne2017-07-261-2/+2
| | | | | | | | | | | | Fixes warnings introduced in f489dde33403e43228: api/projectdata.h(72): warning C4273: 'qbs::operator ==': inconsistent dll linkage api/projectdata.h(66): note: see previous definition of '==' api/projectdata.h(73): warning C4273: 'qbs::operator !=': inconsistent dll linkage api/projectdata.h(67): note: see previous definition of '!=' Change-Id: Iafcb75dc29db1fa5100781ec0a802936c874c621 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add test case for a "dynamic project"Christian Kandeler2017-07-245-0/+53
| | | | | | | | While we did not consciously implement that feature, we should strive to keep it working, as people are using it. Change-Id: I15f43a45b02e7c241bf9d37bed507b0c2037822d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Export equality operator for qbs::PropertyMapChristian Kandeler2017-07-241-2/+2
| | | | | | | This was forgotten when the operator was introduced. Change-Id: Ib1a869e0b42f61bcb845077124c89478a0064783 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Document how to get binaries for QbsKai Koehne2017-07-244-21/+132
| | | | | | | | | | Move the section on how to build Qbs from sources to the end, and instead start with how to get precompiled Qbs binaries. This is arguably what most people prefer. Change-Id: Ibbfc7e3fcb9994840ab5d647a4846b88278deac5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix autotest on MacChristian Kandeler2017-07-211-1/+2
| | | | | | | The ar tool there does not handle the case of an empty object list. Change-Id: Iccb611c4ba2e6f16a5411d97f72644e410b8b646 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* GCC: Don't assume the presence of sources in static library productsChristian Kandeler2017-07-215-2/+27
| | | | | | Task-number: QBS-1163 Change-Id: I56790b32796f33f7474ffbc95c7f3c86ee8d3c1d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>