aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Fix javac version detectionIvan Komissarov2019-06-143-5/+19
| | | | | | | | | | | | | | | | | | | | | It seems, that javac -version can return "12" instead of "12.0.0" Change-Id: I804cbadb410dc11f566fda122f3082a8607ebb36 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | Document the Qt.quickcontrols2 moduleChristian Kandeler2019-06-141-0/+3
|/ / | | | | | | | | | | Fixes: QBS-1453 Change-Id: I810eabd5b4175cf2b9de054b306eea29c0748cf9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Enable Travis CI to build and test QbsRichard Weickelt2019-06-131-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a configuration file for building and testing Qbs with Travis CI. Travis supports Linux, Windows and Mac OS. It requires a repository on github, but is generally free for open source projects. Users could simply fork Qbs, connect their Travis account to the forked repository and let it build. In addition to this patch, a bot has been implemented that watches codereview.qt-project.org for changes. Whenever a user uploads a new change or patch set, the bot pushes this change to a mirror repository on github and kicks Travis to build it. Once the build has finished the result is posted as a comment back to gerrit. This bot could be extended to behave like the Qt CI system. Change-Id: Ic0e1bd507171f40860bfe352651880b4ae7412fc Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix project.withDocumentation:false buildIvan Komissarov2019-06-121-2/+5
| | | | | | | | | | | | | | | | Archive tries to locate those modules via pkg-config and fails; just ingore those if docs are not required. Change-Id: Ia8743810905f5f2e21687286b09d92d34744e327 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Make the address sanitizer work in DockerRichard Weickelt2019-06-074-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | - Libasan requires ptrace capabilities when running in Docker - Provide a suppressions file - Update stretch Docker image to build against libicu and match the configure options of the official Qt release. Otherwise the address sanitizer fails when Qbs loads plugins. Change-Id: Ib620187a3cdd486eaf646ee0bd022b811744a998 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Avoid a Qt deprecation warninghjk2019-06-051-6/+5
| | | | | | | | | | Change-Id: I5b7a8927162821042ac0190fedac2ea14fc24223 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix some warnings about null pointersIvan Komissarov2019-06-045-6/+8
| | | | | | | | | | | | | | Some of them are false positives, some of them are possible bugs. Change-Id: Ic9c8a2970587e5152659b5b19f6b6d6df67e6809 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add run-analyzer.sh scriptIvan Komissarov2019-06-042-0/+288
| | | | | | | | | | | | | | | | | | | | | | | | | | This script builds qbs, generates compile_commands.json and runs clang- tidy on the whole QBS project. Typical usage: $ cd qbs $ export LLVM_INSTALL_DIR=~/LLVM/ $ ./scripts/run-analyzer.sh Change-Id: Iff8d9483849589952a427f3b675298e4fcf11979 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Do not use pathSuffixes in IncludeProbeIvan Komissarov2019-06-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | This is wrong - on Windows, INCLUDE variable already contains /include suffix. This also makes IncludeProbe consistent with LibraryProbe. Change-Id: I166de8d4274842743886b0e234fff48688fd4c44 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix build with namespaced QtChristian Stenger2019-06-033-0/+6
| | | | | | | | | | | | | | | | Amends f08904c155ad, 39462767f9c8, c3f90175c389. Change-Id: If3535ba8502ab3de4eccc6b33c29b205c9a0b889 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | Fix doc for qbs.installPrefixIvan Komissarov2019-05-291-1/+1
| | | | | | | | | | | | | | | | Task-number: QBS-1449 Change-Id: Ib3eb8fc2818f19611a0d1b045cee7b8fe961a92f Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add pkgconfig.sysroot propertyIvan Komissarov2019-05-274-0/+49
| | | | | | | | | | | | | | | | | | | | | | By default, pkg-config uses qbs.sysroot property which is not desirable in some cases - for example, on macOS, even build for current system is sysrooted to the SDK folder within XCode installation. pkg-config installed with brew resides in /usr/local and can't be found within an SDK dir. For that reason, it make sense to override it manually Change-Id: Ibf779fd1bf0e87189abb2eab23d4e9e153fcca17 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | C/C++: Prevent adjacent duplicate libsChristian Kandeler2019-05-272-1/+10
| | | | | | | | | | | | | | | | It is never necessary to have the same library on the linker command line twice in a row, so we can safely remove such duplicates. Change-Id: Ie6ebe489862702828996fb78533eb4ac400df1cd Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | Merge "Merge 1.13 into master"The Qt Project2019-05-2410-22/+63
|\ \
| * | Merge 1.13 into masterChristian Kandeler2019-05-2310-22/+63
| |\| | | | | | | | | | Change-Id: Ic8e80604deb03e48fe264271de2e0add5023af87
| | * Add change log for 1.13.1v1.13.1Christian Kandeler2019-05-231-0/+9
| | | | | | | | | | | | | | | Change-Id: I2d1f0704385d3ba863a832f74718068c0d00ca6d Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| | * Qt Support: Properly handle host libsChristian Kandeler2019-05-231-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We did not take into account that these might be located in a different place than the target libs. Change-Id: I2c27b6be6c8962416f1c062cd1d51ebed45f1796 Fixes: QBS-1445 Reviewed-by: Ola Røer Thorsen <ola@silentwings.no> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| | * Qt Support: Fix dependency de-duplicationChristian Kandeler2019-05-231-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This functionality broke completely in c4e60ed828, which went unnoticed because it turned into a no-op rather than causing an error. As a result, Qt libraries tended to appear more than once on the linker command line. Task-number: QBS-1441 Change-Id: Ic2634b4501f0360a1adb13aa847e34e9d38674f7 Reviewed-by: Ola Røer Thorsen <ola@silentwings.no> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| | * Fix module provider bug in IDE modeChristian Kandeler2019-05-233-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When re-resolving a project with an existing in-memory build graph, we must make sure that the old project object does not remove the generated modules from the build directory in its destructor. This fixes the following bug in Qt Creator: - Open a project initially (but do not build). - Edit the project file and re-resolve. - Build the project. This now fails, because the generated modules were erroneously removed in step 2. Change-Id: If6c1c1ed986e8f00e4d89ba5525bac7e032388d9 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| | * Transformer: Fix wrong variable nameOrgad Shaneh2019-05-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Amends commit f4f443a16a342300638d364175cf2958279cf23f. Change-Id: Ied9bd9188e719657228a53b7a7f1baca86c1bd71 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| | * Do not override properties that are present in user plistIvan Komissarov2019-05-161-1/+2
| | | | | | | | | | | | | | | | | | Fixes: QBS-1447 Change-Id: Ie03530e960cbcf0ab14a9cb501a169aec311ec1a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * Fix generation of the default Info.plist when building for iOSIvan Komissarov2019-05-162-4/+9
| | | | | | | | | | | | | | | | | | Task-number: QBS-1447 Change-Id: Icdd94b7731d1c84a225c53f780e339f9c7034320 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * Documentation: Fix two typosChristian Kandeler2019-05-131-1/+1
| | | | | | | | | | | | | | | Change-Id: Id352796fbf535e381bafd7f98dd5a53b785f9064 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Fix build errors when cross-building Qbs with MinGW on LinuxRichard Weickelt2019-05-243-3/+3
|/ / | | | | | | | | | | | | | | | | | | Linux file systems are case-sensitive while Windows file systems are usually not. That results in build errors when includes or libraries are incorrectly cased. Such errors wouldn't be noticed on Windows, but only when cross-building Qbs with MinGW on Linux. Change-Id: I3a340f907deaaf75b91369330d35918d70de56ca Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | Use validateFunc property in protobuf modulesIvan Komissarov2019-05-223-14/+22
| | | | | | | | | | | | | | | | | | This allows to use more native .base property to call super class validate function. Change-Id: I0f68be8e5823796502c53d719a00825075666b43 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use std:: containers in ProjectBuildDataIvan Komissarov2019-05-226-26/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It appears, that destruction of complex QHashes/QLists took a bit time in refcounts. Optimize them by using std::unordered_map and std::vector instead. Plus, make structure simplier, instead of 2 hashes, use pair as a key. qbs::Internal::ProjectBuildData::~ProjectBuildData() Before: 11.00 ms 0.1% After: 6.00 ms 0.0% Change-Id: I82d8bec5a465210cfa54762088f47c606c0e48e5 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix readability-static-definition-in-anonymous-namespace warningsIvan Komissarov2019-05-215-59/+43
| | | | | | | | | | | | | | Move static functions out of anonymous namespaces Change-Id: Iae6d13189b716e47b21f4c11e1c337487f78fad5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Apply modernize-loop-convert fix-itIvan Komissarov2019-05-219-44/+36
| | | | | | | | | | | | | | Makes clang-tidy happier Change-Id: Ic29b552572719ea58c7ad385cc6e1d68cef9eedc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Apply modernize-use-auto fix-itIvan Komissarov2019-05-2012-36/+36
| | | | | | | | | | | | | | | | Makes clang-tidy happier Change-Id: I75f3b6409b425b9a7054d7886ab0160a040b25d5 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Remove unused property in protobufbaseIvan Komissarov2019-05-201-1/+0
| | | | | | | | | | Change-Id: I52239c01a0e6dff3c22353c3ec4b354fd73a7662 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix -Wclazy-inefficient-qlist-softIvan Komissarov2019-05-203-5/+8
| | | | | | | | | | | | | | | | | | QLists were used with types that bigger than sizeof(void*) which lead to extra allocations Change-Id: Id716c6b4919f9a0ad62e1d2972319a600785afc5 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | doc: Describe possible build options for QBSIvan Komissarov2019-05-201-0/+139
| | | | | | | | | | Change-Id: Iec02aa7664efef27e562ab563436a389b3b908bc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use std::unordered_map for m_storageIndiceshjk2019-05-201-6/+6
| | | | | | | | | | | | | | | | Makes the Ir event count go from ~8.28 billion to ~8.12 for a Qt Creator null build. Change-Id: I02714cd922fd9d42abe67e5115e3ffd64778f77a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Improve the KEIL toolchain auto detectionDenis Shienkov2019-05-175-62/+265
| | | | | | | | | | | | | | | | Now the KEIL compiler path also extracts from the Windows registry in addition to the path feature Change-Id: I8a92233ff58119ea7c3cc40e6da95408e0ced1ba Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Improve the IAR toolchain auto detectionDenis Shienkov2019-05-175-64/+270
| | | | | | | | | | | | | | | | Now the IAR compiler path also extracts from the Windows registry in addition to the path feature. Change-Id: I77d2cc13924afac751445df98ea60f1f62f9d892 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Improve the SDCC toolchain auto detectionDenis Shienkov2019-05-175-64/+244
| | | | | | | | | | | | | | | | Now the SDCC compiler path also extracts from the Windows registry in addition to the path feature. Change-Id: I84148e464696fdfffc6342d22baa1d75c6caa0ce Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | doc: add example how to use multiplexingIvan Komissarov2019-05-171-0/+6
| | | | | | | | | | Change-Id: I67697fb5b4ddb2fcd7f42a2e70247038fc98f082 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerIncludePaths for KEIL toolchainDenis Shienkov2019-05-163-0/+23
| | | | | | | | | | Change-Id: I3a70a4a1045444bf053ebf5ac7f32dbe72c827a5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use std::vector in ItemPoolhjk2019-05-162-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Is: text data bss dec hex filename 11490 8 0 11498 2cea itempool.o Was: text data bss dec hex filename 12425 8 0 12433 3091 itempool.o-orig Also, less symbols. Change-Id: I6f90b126933f5fa6d00f5e1097faaa4276613a6a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerDefinesByLanguage for KEIL toolchainDenis Shienkov2019-05-153-10/+32
| | | | | | | | | | Change-Id: Id689c4e0290ba83e8755b6787601338a01af07c9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerDefinesByLanguage for SDCC toolchainDenis Shienkov2019-05-142-1/+7
| | | | | | | | | | Change-Id: I934a7bf3679dfda15ef245a9d14e834dc5136861 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerIncludePaths for SDCC toolchainDenis Shienkov2019-05-143-0/+36
| | | | | | | | | | Change-Id: If9143a5af10c842bbb2b6dd08d201f8d9963012f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Use preferred architecture to dump macrosDenis Shienkov2019-05-143-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | .. for SDCC toolchain. The SDCC compiler binary support multiple architectures (aka 8051, z80, and others). So, it is necessary to set a target architecture option before getting the macros. We will take a preferred target architecture from the qbs.architecture property. If this property initially is undefined, then will be returned macros for default compiler architecture (usually it is mcs51). Change-Id: I379ffe90895b62e2786c3ffba2da47b1864da75d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add test for precompiled header and redefined macroIvan Komissarov2019-05-116-0/+87
| | | | | | | | | | | | | | | | | | | | | | This illustrates the warning emitted by clang-cl when macro definition differs in a file and pch. Warning is emitted because of -Wclang-cl-pch flag which is enabled by default Change-Id: I48f39bd77db5be85b9cd2e0226c0b4e7931a9d5b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerIncludePaths for IAR toolchainDenis Shienkov2019-05-103-0/+55
| | | | | | | | | | Change-Id: I3b8a3607e1e5c252731dea783acd9c1a0867a127 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | doc: Add link to the Target Platforms page from qbs.targetPlatformIvan Komissarov2019-05-102-0/+5
| | | | | | | | | | | | Fixes: QBS-1426 Change-Id: Ic44f02b88285d033247a9260e7d3a367e9e5dc6e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | doc: Reorganize qbs.targetOS and qbs.targetPlatformIvan Komissarov2019-05-101-24/+30
| | | | | | | | | | | | | | | | | | Move conditional examples to the targetOS property. Add small example about targetPlatform itself. Task-number: QBS-1426 Change-Id: Ia66dfb18c332e220c1359419202f97c974357363 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerDefinesByLanguage for IAR toolchainDenis Shienkov2019-05-103-7/+25
| | | | | | | | | | | | Change-Id: Id18528b1f6f6a98bec3f877e70c660180078a66c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.13 into masterChristian Kandeler2019-05-1014-24/+100
|\| | | | | | | Change-Id: Ic02d717f80f5d831f0cedb3b7c565a9bfef3a2a3
| * Fix TestBlackboxQt::staticQtPluginLinking()Christian Kandeler2019-05-083-3/+18
| | | | | | | | | | | | | | As of 3f80c821e9, we no longer link plugins into static libraries. Change-Id: I35816d0d84b8758fb9792387bf450d53d7ea6e5a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>