aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* baremetal: Fix auto detection of SDCC toolchain on WindowsDenis Shienkov2019-09-232-18/+49
| | | | | | | | | | | | The SDCC toolchain package can be provided as 32-bit or as 64-bit installer. If the SDCC 64-bit package will be installed on the 32-bit Windows, then it will not be found in the system registry, because we use the QSettings::NativeFormat. So, we need to check the data for the 32-bit and 64-bit registry sequentially. Change-Id: I15981f39274308e3690cf072396cf1ae82b6743d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix MSVC warningsOrgad Shaneh2019-09-132-2/+2
| | | | | | | | 'return': conversion from 'size_t' to 'int' Change-Id: I18e8fa03a9303855693da3027b722b104cee5d6d Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: hjk <hjk@qt.io>
* Process Command: Do not needlessly interpret output as textChristian Kandeler2019-08-261-1/+3
| | | | | | | | | ... when redirecting process output. Only do that if there is an output filter function. Otherwise, we break redirection of binary data. Fixes: QBS-1488 Change-Id: Ic5a1d2653fa8fc9c4f0eb5d31b7315d7aba3e030 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Avoid uses of Java-style iteratorshjk2019-07-301-16/+4
| | | | | Change-Id: I90cece156033b5d223a86016401a2199f5b6c11e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Prepare for explicit QChar constructorshjk2019-07-291-1/+1
| | | | | Change-Id: I906f63236230f10e6bdfb16ef3ee25cee8c407f6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Improve clang-cl auto-detectionIvan Komissarov2019-07-251-1/+41
| | | | | | | | | Now also check for the clang-cl in the default install locations Task-number: QBS-1316 Change-Id: I5d0dfd2b98164b0cac08358001cd1946b4f8aadc Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Work around deprecation warnings in Qthjk2019-07-244-3/+19
| | | | | Change-Id: Iff45f56fc91f3d513440a3e2aaf519a7aa0f7744 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Avoid some deprecation warnings for QLatin1Literal useshjk2019-07-221-8/+8
| | | | | Change-Id: I8fe64c2ab78b1cf2e1af2a6aa2dad201299a0a94 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Adapt to upstream introduction of std::hash<QString>hjk2019-07-011-0/+2
| | | | | Change-Id: If6671dd7c7a68ac3e1728fcb1790e6abf7c0b019 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add sanity check to socket launcherChristian Kandeler2019-06-281-0/+1
| | | | | | | | | | As far as I can see, this shouldn't happen, but let's prevent a crash at least in case it does. Task-number: QTCREATORBUG-22539 Change-Id: I4bd36364ca3f8bb8cdbe445e5b14037758b1e1fc Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Respect QMAKE_LFLAGS set by the userDavide Pesavento2019-06-251-1/+1
| | | | | Change-Id: If0b411c734ddbb357843d6513a36a70d5c09a6fb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge 1.13 into masterChristian Kandeler2019-06-142-2/+4
|\ | | | | | | Change-Id: Idab53d6bd9b6f2841e30d4a31f53ac53a05c2f09
| * Add Visual Studio 2019 support1.13Joerg Bornemann2019-06-072-2/+4
| | | | | | | | | | | | Fixes: QBS-1451 Change-Id: I644835cf8ce18d546e6c8e2c75f689766456555d Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | 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>
* | 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>
* | 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>
* | Merge "Merge 1.13 into master"The Qt Project2019-05-244-5/+17
|\ \
| * | Merge 1.13 into masterChristian Kandeler2019-05-234-5/+17
| |\| | | | | | | | | | Change-Id: Ic8e80604deb03e48fe264271de2e0add5023af87
| | * 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>
* | | 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 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-218-42/+34
| | | | | | | | | | | | | | Makes clang-tidy happier Change-Id: Ic29b552572719ea58c7ad385cc6e1d68cef9eedc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Apply modernize-use-auto fix-itIvan Komissarov2019-05-2011-30/+30
| | | | | | | | | | | | | | | | Makes clang-tidy happier Change-Id: I75f3b6409b425b9a7054d7886ab0160a040b25d5 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix -Wclazy-inefficient-qlist-softIvan Komissarov2019-05-202-2/+2
| | | | | | | | | | | | | | | | | | 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>
* | 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>
* | 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>
* | Merge 1.13 into masterChristian Kandeler2019-05-102-2/+4
|\| | | | | | | Change-Id: Ic02d717f80f5d831f0cedb3b7c565a9bfef3a2a3
| * Fix qbsConfig test on MacosIvan Komissarov2019-05-022-2/+4
| | | | | | | | | | | | | | | | | | | | | | It seems, that QSettings is not working properly with SystemScope on Macos (QTBUG-21062). QSettings::fileName returns a path to a file in a test directory, not in "/Library/Application Support" as expected. Thus, canWriteToSystemSettings is true and test fails when real qbs binary tries to write to the /Library... location Change-Id: I726360a1daacf4871f944f5afe30089083283dce Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use = default in ProjectData and friendsIvan Komissarov2019-05-091-55/+15
| | | | | | | | | | | | Change-Id: Ic885bba12107b2a9f116dd8a33f1cad12ced1764 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use std::unique_ptr in PropertyMapIvan Komissarov2019-05-082-20/+9
| | | | | | | | | | | | | | | | This makes move ctors and destructor trivial Change-Id: Ifee00b7526fd1564fcf01f799230997f929b29db Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add missing move ctors to ProjectData and friendsIvan Komissarov2019-05-062-1/+44
| | | | | | | | | | | | Change-Id: I6619817f8c87e9f643f7f1b6d2851799de439782 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Do not allow to enter leading and trailing spaces in qbs-config-uiIvan Komissarov2019-05-061-0/+44
| | | | | | | | | | | | Task-number: QBS-1427 Change-Id: I46e1dab6baf964a7f42fe96a3fb3be37cf6e692f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add missing virtual destructorsIvan Komissarov2019-05-036-0/+7
| | | | | | | | | | Change-Id: I6a20f4475b52858f79c98b5ce3dd088aac7bc46e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Apply fix-its for the missing override keywordIvan Komissarov2019-05-0342-320/+320
| | | | | | | | | | | | | | | | Missing override is a warning in clang Change-Id: I90b899df37e690aebb942bffc65db54d9aa4050f Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix uninitialized variablesIvan Komissarov2019-05-0247-177/+147
| | | | | | | | | | | | | | | | | | This fixes most of clang analyzer warnings about uninitialized variables in ctors Change-Id: I879c785594307ed3fe7140588338a6b2a1e4db65 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.13 into masterChristian Kandeler2019-04-263-2/+9
|\| | | | | | | Change-Id: Ife9f7cd99dd5a531bcb670b2dfbd245471a8c379
| * Fix Windows build with QtScript-less Qt againDavid Schulz2019-04-251-1/+1
| | | | | | | | | | | | | | remove \r\n or \n from the qmake query output not just \r or \n Change-Id: I4cd12fb5e708b28eedc43381a8d67f9e54c82d9f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Fix windows archive creationChristian Kandeler2019-04-161-0/+7
| | | | | | | | | | | | | | | | | | | | Apparently, windeployqt copies all resources into the directory of the first binary it encounters on the command line. So make sure that binary is qbs.exe and not one of our plugins, as we want the libs to end up under bin/. Change-Id: Ib23f1b355a058ca1deec5e10535c68dc9170a2bf Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Adjust chocolatey.qbs to qbs 1.12Joerg Bornemann2019-04-161-1/+1
| | | | | | | | | | Change-Id: I48e8efd18b026e2d8f58e2ae2ddc60b67c9acf68 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | qbs-setup-qt is not needed anymoreBogDan Vatra2019-04-251-25/+1
| | | | | | | | | | | | | | Now we have automatic Qt detection, and that set is not needed anymore. Change-Id: I9c01dad173ac70cbeaab64b412255057d7ce8cbd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix building dmg when path contains non-latin charactersIvan Komissarov2019-04-241-1/+6
| | | | | | | | | | Change-Id: I5e70d75f2495fe5e265ddb5ab3e4a2628c5ebd54 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix tests on non-latin systemsIvan Komissarov2019-04-231-2/+2
| | | | | | | | | | | | | | | | Qt Creator uses non-latin letters in path to the build directory in case of ru_RU.UTF-8 $LANG on Linux. Now QBS does handle that correctly. Change-Id: Ifc727b120a5f0ee60972c5e3ed24067426db8df2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Add SDCC toolchain supportDenis Shienkov2019-04-101-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a basic support for the SDCC compiler: * http://sdcc.sourceforge.net/ As this compiler support multiple architectures, then it is impossible to uniquely identify the current architecture by dumping of the pre-defined macros (because its content depends on a target flag). In this case the cpp.architecture will contains a default architecture (which is dumped with an omitted target flag). To use it with Qt Creator, it is enough to add there a desired Kit with a custom SDCC C/C++ compiler, and then set the following in the Kit's Qbs profile settings: * Key: qbs.toolchainType * Value: sdcc To create the SDCC profile it is enougth to use the following command: qbs setup-toolchains --type sdcc <path/to/sdcc/compiler/binary> <profile name> A toolchain type can be omitted; in this case the QBS will tries to detect the toolchain type from the specified compiler name. Also it is possible to auto-detect the SDCC toolchain from the PATH environment using the following command: qbs setup-toolchain --detect At current time are supported only the 8051 (aka MCS51) architecture; other architectures can be added later. Change-Id: I8cc239d62e35472ab667e054a64a1e59c2d548bd Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add support for the clang-cl compilerIvan Komissarov2019-04-1014-41/+456
| | | | | | | | | | | | Task-number: QBS-1316 Change-Id: Ibf9da364610c260ead088a8990a70c7739d53c39 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>