aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Install more packages in bionic image to run more testsIvan Komissarov2020-02-102-6/+18
| | | | | | Change-Id: I21691196660a6f5650f6328abe43ec2269a09dbc Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* More meaningful SKIP messages for macOSIvan Komissarov2020-02-061-4/+9
| | | | | | | | Otherwise, it's quite hard to understand why the test is skipped in CI without looking into the code Change-Id: I5e4450c22c6b0474dac291d488e8f49d0607e290 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Install some packages on Mac jobs to run more testsIvan Komissarov2020-02-063-2/+17
| | | | | Change-Id: I90865ba6908df1550c2646a57d348dcb82e244ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix Qt base profile for Mac jobsIvan Komissarov2020-02-061-1/+1
| | | | | | | | | Some GCC tests were skipped on Mac because of the empty qbs.toolchain value Change-Id: I977eecad416ffd074f6e997c71da12c0a4ee8ace Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Print profiles on Mac os jobsIvan Komissarov2020-02-061-0/+1
| | | | | | Change-Id: Ie5ac3de1b6f1505ddf79a775dcfdedc9afaedae8 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use consistent names in PathProbesIvan Komissarov2020-02-051-10/+10
| | | | | | | | This code is copy&paste but different variable names make it easy to make a mistake doing changes Change-Id: Iab5b923ac010e1aa1fb158ee1d66986f41a0fa2a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge "Merge branch '1.15' into master"The Qt Project2020-02-0510-26/+59
|\
| * Merge branch '1.15' into masterRichard Weickelt2020-02-0510-26/+59
| |\ | | | | | | | | | Change-Id: I7e348db380b836221db79c73ea3b5f1d891f114b
| | * Fix probes referencing project properties1.15Richard Weickelt2020-02-053-21/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a regression introduced in e8637511. Probes in Project items could no longer reference project properties by writing project.xxx on the right hand side of a property assignment expression. Change-Id: I7d04c71f4c493481a00411f12666bd6c2caa8caa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * Fix library not found for -lqbsscriptengine_debug on macOSMarius Sincovici2020-01-161-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On macOS the qbsscriptengine library doesn’t contain the suffix _debug when compiling in debug mode. Fix linker error by removing the suffix. Fixes: QTCREATORBUG-23456 Change-Id: Idca2b36e87a652dac52c45e75b6edde6b3afd322 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * MSVC: Avoid bad execution attempt of powershellOrgad Shaneh2020-01-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user opted in for telemetry, vsdevcmd.bat tries to execute powershell. The batch file clears the PATH, so powershell cannot be used. Change-Id: I80e457aebea9d8c1c8ba0415d50d809bfd0bd4da Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * Fix reading .prl files located in macOS frameworks with Qt 5.14Ivan Komissarov2020-01-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Since Qt 5.14, prl files were moved into 'Resources' folder within a framework Change-Id: Ia067789032e3ac9d3bde1ad5929f2436f9341a71 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * Fix version parsingBogDan Vatra2020-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Latest debian java 8 adds some extra characters at the end of the version ("javac 1.8.0_242-ea"), which confuses the existing regex. Change-Id: I96acb978d95bdb22c71da4593fe5fae4d417e5f3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * MSVC: Suppress "Generating code" messagesOrgad Shaneh2020-01-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Appears when passing /LTCG in cpp.linkerFlags. Change-Id: I4282ae51355a178a85985642a86bc01433bb15db Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * Bump version to 1.15.1Richard Weickelt2020-01-071-1/+1
| | | | | | | | | | | | | | | Change-Id: If821584c33182167931bc62fdc7f5701be009fe1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * Fix make-release-archives.batJoerg Bornemann2019-12-181-0/+1
| | | | | | | | | | | | | | | | | | | | | We must set enableBundledQt to true, because its default value changed. Change-Id: I1db53db309f82cb46fdd77eb2dad44ee40401386 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * Doc: Fix default value of enableBundledQtJoerg Bornemann2019-12-181-1/+1
| | | | | | | | | | | | | | | | | | | | | This amends commit 905ee49f. Change-Id: I4faf5a1ef7d2a1dbdbe7ea78eae2e07a4f33ae61 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | Android: handle relative sourceset directoriesAlberto Mardegan2020-02-052-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Allow the resourcesDir, sourcesDir and assetsDir to be specified as relative paths. Also, change their type to `path`, as that better fits their role. Change-Id: I76df92fe763154f80ca3759e15de3ad70173632b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | Assign allResults for all PathProbe child ProbesIvan Komissarov2020-02-053-23/+45
|/ / | | | | | | | | | | | | | | Despite the fact those probes do not use selectors property, it makes sense to assign the result into the allResults property Change-Id: Ieaf084b721a20e83c02bfdcdb706d8d98c7c16ed Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: Update support to qt 5.14 and multi-arch apks for Qt appsRaphaël Cotty2020-02-0414-194/+610
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before qt 5.14. The profile property "moduleProviders.Qt.qmakeFilePaths" is set with one or more paths to the different android architectures. Each qmake path belongs to a different android architecture installation. So each qmake is used to generated the Qt module corresponding to the architecture. Although qbs can generate multi-arch apks using multiplex mode, this is not possible when the project depends on qt libraries. This is because of the restriction of the qt tool androiddeployqt used by qbs. Now with qt 5.14. All android architectures are installed in the same directory. So the profile property "moduleProviders.Qt.qmakeFilePaths" is set with one qmake path. This directly impacts the qbs-setup-android tool and the generation of the Qt modules. Because qt libraries are installed in the the same directory, they have the abi in their name (libQt5Core_armeabi-v7a.so). So the rules that generate the apks are also impacted. The new androiddeployqt have a new interface (json config file format and requires to have the input libraries installed in the deployment directory) which allows the generation of multi-arch apks. So Qt.android_support modules needs to be updated as well. Fixes: QBS-1497 Change-Id: Ibd546f356c38a05f42dfcac0a4ec92bd82d6f700 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Improve TestBlackbox::pathProbeIvan Komissarov2020-02-0316-13/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add checks for the candidatePaths and the single file API. Also, this includes a behavior change - if multiple selectors are present, the filePath/fileName/path probe properties are not set up - this is because it is not clear how they should be set up in case when the first file in selectors is found, but the second is not (and thus probe.found is false). In case of multiple selectors, user should use probe.allResults but not the single file API. Change-Id: Ib56faf0de93d3ec9fc49f5dbc9d51d4b36831a2d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix parseCommandLine() functionIvan Komissarov2020-02-031-6/+9
| | | | | | | | | | | | | | | | | | 'buf' variable was leaking in case of an error. 'args' variable was leaking in the success case (it has to be freed with LocalFree). Also, reserve the necessary amount of elements in the result string list Change-Id: Ia2a1ea7350baa07533e3f742926f2a9cc12bb29c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Be more tolerant to exceptions when adding gcc profilesIvan Komissarov2020-02-031-3/+7
| | | | | | | | | | | | Fixes: QBS-1524 Change-Id: Ie6c619244d6689db7a6815dd87f67e137e6dc5bb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | qmake build: Mark plugins as pluginsChristian Kandeler2020-01-311-1/+1
| | | | | | | | | | | | | | | | It's unclear why this was only done for Unix targets. Fixes: QBS-1529 Change-Id: Id853871af68eeaa1104c8124e6a3e7bfd3f9883d Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | Tests: Fix expected path for jdkChristian Stenger2020-01-301-0/+1
| | | | | | | | | | | | | | OpenJDK might be the 64bit version. Change-Id: Ia215ac3ed4c111a3d127b97509d150b34f9a01fa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Tests: Do not expect sanitizers for MinGWChristian Stenger2020-01-301-0/+2
| | | | | | | | | | | | Change-Id: I283836a7009f63bc3c8c5aabae221ec7763ddcef Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Allow relaxed matching of multiplexed dependenciesRichard Weickelt2020-01-296-22/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a multiplexed product depends on another multiplexed product, Qbs previously forced all multiplexed properties to match exactly. Only if Depends.profiles was specified, the comparison was limited to the qbs.profile property and all other properties were ignored. While strict matching is usually the natural choice, there are corner cases where it limits the applicability of Qbs. For example when multiplexing product A over buildVariant, but product B over buildVariant and architecture. In such cases a relaxed matching would be desirable, where only the common properties of A and B are considered. As long as there is only a single resulting dependency, the dependency is unambiguous and safe. Task-number: QBS-1515 Change-Id: I4ae6b413229bf1577311b4198d0596447e650816 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fail travis job if clang-tidy returned non-zero codeIvan Komissarov2020-01-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | The script falsely returned zero code even if clang-tidy reported an error This amends f7117d080ddce4b5f692e3a60ceddc9fe1761888 Change-Id: I6f77bae3304f7bb6ca58c2de29089c3e3d910c1b Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix clang-tidy errorsIvan Komissarov2020-01-295-11/+10
| | | | | | | | | | Change-Id: I2abc42456bfa618860ca58736f4d28e8bf56a1c6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Apply 'modernize-pass-by-value' fix-itIvan Komissarov2020-01-2832-97/+107
| | | | | | | | | | | | | | | | | | Also, treat this warning as error This amends 936eee744db9b2fd1b9b66d168d80a113002aad2 Change-Id: I372c3b11baa08375d581052282f4546b2ba2e057 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | travis: Enable clang-cl build on master branchIvan Komissarov2020-01-281-2/+14
| | | | | | | | | | | | Change-Id: Idc361a825c208020e2c87971383845ad95fab54e Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | clang-cl: Fix build warningsIvan Komissarov2020-01-284-3/+12
| | | | | | | | | | | | | | Those are treated as errors and fail build on Travis Change-Id: I6ce46434cb37af936f25836dc857ed65f0b5cd1b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Fix Keil toolchains detectionDenis Shienkov2020-01-271-29/+72
| | | | | | | | | | | | | | | | | | | | | | | | A problem is that a latest installed toolchain overrides a previous installed toolchain. In this case a previous toolchain will be skipped from the search. We need to fetch an information from the 'uninstall' registry entry, which describes all installed toolchains. Change-Id: I9ec6e25a5d84d23c16fdb14dc32c98d085d3b783 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | MSVC: Use compiler driver for linkingIvan Komissarov2020-01-2415-73/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To be able to use cpp.driverFlags and cpp.driverLinkerFlags with clang- cl. This patchset makes possible to use clang-cl with "- fsanitize=address" flag without passing the sanitizer libraries manually to the linker There's also a behavior change in which linker is used - clang-cl uses native linker by default. Old behavior can be restored by setting cpp.linkerVariant to "lld" Fixes: QBS-1522 Change-Id: I9528ce40aa5fdfab987672b15fffd830fa2d6376 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Do not override QT_INSTALL_DIR in the Travis Windows jobRichard Weickelt2020-01-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | QT_INSTALL_DIR is defined as global environment variable and is overrideen with a different value in the windows job. Something changed in the way Travis parses environment variables and the override is exported after depend variables. Since we run the build in a bash shell, there is no reason to set QT_INSTALL_DIR to a different value than ~/Qt. We can safely remove the override. Change-Id: Id556997b3a9d8a8d6be474485b5084955a09f253 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Test for the correct value for the NSPrincipalClassIvan Komissarov2020-01-201-1/+1
| | | | | | | | | | | | | | Qbs sets this value unconditionally for macOS platform, so check it Change-Id: I98c2b3f8a9ac6978411eb51a17f1104118faebe2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add checks for some types in infoPlistIvan Komissarov2020-01-201-0/+24
| | | | | | | | | | | | | | | | | | | | Checking the exact values is hard because they depend on the targetPlatfom/architecture, but we can check that types are correct if those values are present. Task-number: QBS-1447 Change-Id: I4407421919ad74719ce089d059cbe36764a565d8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | travis: fix MSVC base profileIvan Komissarov2020-01-201-1/+1
| | | | | | | | | | | | | | | | It is confusing that we set 32-bit base profile for the 64-bit Qt Change-Id: I91f69b7662698aefd3c09b203f9192251121d984 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | travis: Add XCode 9.4 jobIvan Komissarov2020-01-205-4/+13
| | | | | | | | | | | | | | | | | | | | | | This is still the default one on Travis and Qbs should support it Also, only build XCode10 variant on master to avoid extra job for gerrit builds Change-Id: I100e7e4560aeca3c2c3d77d81ecc9097853e0a2d Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add overrideInfoPlist testIvan Komissarov2020-01-155-26/+112
| | | | | | | | | | | | | | | | This test checks that properties can be overridden in a .qbs file Task-number: QBS-1447 Change-Id: Ib39c7c11f26357bb4074eb9ba7cb2730f25c9441 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use an empty array for the qbs.targetOS if targetPlatform is undefinedIvan Komissarov2020-01-147-3/+29
| | | | | | | | | | Change-Id: I4bc1ff7cacb606e4baa9f2bfe59b8dca1b88e434 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | travis: Change XCode 11 version to 11.3Ivan Komissarov2020-01-141-2/+2
| | | | | | | | | | | | Change-Id: I6a7267f55e7041fda7213bedf117870460b262b3 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add Docker environment to test Qbs with Qt for AndroidRaphaël Cotty2020-01-109-4/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Docker images contains ndk r20 and qt 5.13.2 as well as 5.14.0. Containers can be started with the following command line: - docker-compose pull bionic-android-513 - docker-compose run --rm bionic-android-513 The current folder is mounted under /qbs. Assuming that Qbs has been built in the current directory and with release configuration, the autotests can be invoked with: docker-compose run --rm bionic-android-513 scripts/test-qt-for-android.sh \ release/install-root/usr/local/bin A job Travis CI job is added which builds Qt and runs the Android blackbox tests. Change-Id: I76b1901cb7c41f8b5b0122265c99c9b37b59f261 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use RAII for memory management of jobsIvan Komissarov2020-01-103-8/+7
| | | | | | | | | | | | | | | | | | QMap::keys() method allocates memory for a new list which is not desired during the object destruction. Also simplifies dtor and make code more exception-safe Change-Id: Ib76c2426e74ca79e2ab56b993007985ba8999c85 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Speedup HostOsInfo::canonicalOSIdentifiersIvan Komissarov2020-01-102-12/+18
| | | | | | | | | | | | | | | | | | | | | | This piece of code (recursively) allocated so often that it was visible in the profiler Reduce time spent in this function from 45ms to 8ms when running 'qbs resolve qtcreator.qbs' Change-Id: Ifd7586886499d2e26b7bc67324c1791c54cb251d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | doc: Improve Export item exampleIvan Komissarov2020-01-101-4/+33
| | | | | | | | | | | | | | | | | | | | | | The first note was not true considering the example above - A's includes were not exported since A were not exported from B. Fix that and clarify that dependencies are not exported by default Change-Id: Id2ce1b98dce0b25fd57b9aced250092f51ccee16 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Speedup FileInfoExtension::js_joinPathsIvan Komissarov2020-01-091-3/+11
| | | | | | | | | | | | | | | | | | std::regex_replace allocates quite a lot, plus conversions to std::string allocate memory; duplicate path separators can be simply removed with the std::unique method. Change-Id: I8971e7a8efa78561fa37c1152b80791d3dca65c5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Change Python package version on WindowsRichard Weickelt2020-01-091-2/+2
| | | | | | | | | | | | | | | | | | Version 3.6.8 seems to be down quite often for whatever reason. Maybe selecting just "some" version is more stable. Change-Id: I4862c82ae0da38d5d942d77607db4e2312b49ae0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | API tests: Fix a time stamp issueChristian Kandeler2020-01-081-0/+1
| | | | | | | | | | Change-Id: Ia58cf8c14b091372921788e76e15a2ad1267e3d3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Remove deprecated usage of platformPaths in chocolatey.qbsIvan Komissarov2020-01-081-1/+1
| | | | | | | | | | | | | | | | Should be fine by now Change-Id: Ia19d2de5ffaf2fc952ec21771e31dccbab69768c Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>