aboutsummaryrefslogtreecommitdiffstats
path: root/src/app/qbs-setup-toolchains/msvcprobe.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add support for the clang-cl compilerIvan Komissarov2019-04-101-9/+24
| | | | | | Task-number: QBS-1316 Change-Id: Ibf9da364610c260ead088a8990a70c7739d53c39 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge 1.13 into masterChristian Kandeler2019-03-181-2/+2
|\ | | | | | | Change-Id: I0678ef8cf6f81489914e79be903ca4d4c1cebada
| * Fix version detection for MSVC 2017David Schulz2019-03-151-2/+2
| | | | | | | | | | | | | | | | | | The version number for recent MSVC2017 installation has changed to the format \d+\.\d+\.\d+\.\d+ and the second number is not guaranteed to be a zero. Change-Id: I13728d2a5ea3162c3ff29558757cd576a83f4983 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix calls to non-const begin()/end() in range-for loopsIvan Komissarov2019-03-061-1/+2
|/ | | | | | | | This fixes -Wclazy-range-loop Change-Id: I08a435b700017cdbe27fbfdbda6e26840d9a3568 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Return initializer list where it is possibleDenis Shienkov2019-02-261-2/+2
| | | | | | | | | This fixes this clang-tidy warning: warning: avoid repeating the return type from the declaration; use a braced initializer list instead [modernize-return-braced-init-list] Change-Id: I421e1e47462fe0e97788672684d47943af7df850 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use QStringLiteral more where it is possibleDenis Shienkov2019-02-251-5/+5
| | | | | | Change-Id: I7419cc3fbc1e8776de3943852dcedab4c95d1c32 Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* MSVC: Add support for the Visual Studio 2017 Build ToolsChristian Kandeler2018-10-081-11/+95
| | | | | | | | | | | | | | This entails: - Auto-detection: The Build Tools no longer have an entry in the registry; use the vswhere tool instead. - Unset the VSINSTALLDIR environment variable before calling the vcvarsall.bat script, as this variable can confuse the msbuild.bat sub- script if it is set. - Look for the base include directory two levels above the directory under which cl.exe is located. Change-Id: Id8f7976e5f41015e59850d3ed68fa81b6ce701a2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qbs-setup-toolchains: Check for presence of cl.exe in MSVC bin pathsJoerg Bornemann2018-05-241-3/+6
| | | | | | | | | | | | | Now we check for the presence of cl.exe also for VS versions >= 15. This fixes warnings like: WARNING: Failed to set up MSVC2017-_1033: Could not start C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.14.26428/bin/arm/1033/cl.exe (Process failed to start: The system cannot find the file specified.) Change-Id: I2d8350abaa1b8a96a3e832d4bfc121f5fa2e52ba Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Make Version a public classJake Petroules2017-12-011-1/+1
| | | | | | | It's already exposed in public API; i.e. via qtprofilesetup headers. Change-Id: I56950ce3163e6c5bd2c3fd08cc885b35723be5a7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Replace 'foreach' macro with range-based 'for'Denis Shienkov2017-11-241-11/+19
| | | | | Change-Id: I34479bc9673d0202363aeba5c7919efc8f0d7287 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add qbs.targetPlatform and qbs.hostPlatform propertiesJake Petroules2017-11-221-1/+1
| | | | | | | | | | | | | | | | | This allows users to set the target platform from within project files, since it is a scalar value. The values of qbs.targetOS and qbs.hostOS are now derived from these new scalar properties. [ChangeLog] Added qbs.targetPlatform and qbs.hostPlatform properties which are scalar versions of qbs.targetOS and qbs.hostOS. qbs.targetPlatform is a "write-only" property that can be used to set the OS/platform that is being targeted, while qbs.targetOS and qbs.hostOS should continue to be used to *read* the OS/platform that is being targeted. qbs.targetOS is also now read-only. Task-number: QBS-1070 Change-Id: Id3fd206a5b2ebee2d626f3e5ab02ecd1dc90d90a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* STL compatibility: use push_back() instead of operator<<Jake Petroules2017-11-161-1/+1
| | | | | | | ...and operator+= Change-Id: I848610544cacc2d187d601c0db567703c3e68c93 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Replace all uses of QVector with std::vectorJake Petroules2017-03-291-24/+23
| | | | | Change-Id: Idd41fc4d9819649a85739f984862bed6480fddd5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge remote-tracking branch 'origin/1.7'Joerg Bornemann2017-03-171-9/+57
|\ | | | | | | Change-Id: I93ba9e1596e57f35295771054a2f2ac02055a203
| * Fix setup-toolchains for Visual C++ Build ToolsJoerg Bornemann2017-03-161-9/+57
| | | | | | | | | | | | | | | | | | | | The VC Build Tools can be found in a slightly different location than the Visual Studio registry entries. Task-number: QBS-1114 Change-Id: Ib7dea5e5883271f55371383996e0641e270f3585 Reviewed-by: Yuchen Deng <loaden@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Change style of #includes of Qt headersJake Petroules2017-01-041-5/+5
|/ | | | | | | | | | | | | | | | By using q<lowercase>.h headers, we become more bootstrap-friendly, as no full syncqt is required any more. In the same go, prefix all includes with the module name. This helps grep-based analysis of which parts of Qt are used and where. It's also consistent with Qt's public headers (where syncqt enforces the style). Testdata and examples are excluded from the change, as they are not relevant for bootstrapping. Change-Id: I9539b1d795e87fca6e5fc6c91acbb775b79208d9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix qbs-setup-toolchains with concretely specified MSVCJoerg Bornemann2016-12-211-0/+1
| | | | | | | | | | We must call init() on every MSVC object. Also, MSVC::clPath must point to the directory where cl is. This amends commit fb2cf69d. Task-number: QBS-1084 Change-Id: Iaa8b3f6a5a0b88b998c2da31d9056f22a511d05d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add VS 2017 supportJoerg Bornemann2016-12-021-38/+99
| | | | | | Task-number: QBS-1025 Change-Id: Ib08373b6b45fa0b728e68466d08d43a14f864d72 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Prepare VS Qt version matching for VS 2017Joerg Bornemann2016-11-301-1/+1
| | | | | | | | Comparing major versions is not enough for VS 2017 since its compiler has the version number 19.1. Change-Id: I689e2d5399661ed7fe323eea0215d92ea4560e1a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Speed up qbs-setup-toolchains for MSVCJoerg Bornemann2016-11-101-22/+27
| | | | | | | | | | | | Determine the compiler's version by preprocessing a file containing _MSC_FULL_VER instead of compiling and linking a program to determine all compiler defines. With this change qbs-setup-toolchains needs less than 1/2 of the time to detect MSVC installations. Change-Id: I254e6c6d3abe489b328e979228e8b21f8d92f39c Task-number: QBS-866 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Refactor MSVC toolchain detectionJoerg Bornemann2016-11-101-51/+48
| | | | | | | | | Have one MSVC object per MSVC installation instead of one MSVC per VS installation with some list members. This cleans up the code quite a bit and prepares for VS 15 support and speed improvements. Change-Id: Idf6759e5b05584532f56be4036c87df310363bd3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Update license headersIikka Eklund2016-08-291-14/+23
| | | | | | | | | | Patch-set 2 includes *.cpp *.c Every source file needs to have up-to-date license headers in order to pass ci. Change-Id: Ie6e493097af6f7dd6a8adff170eb856f496e689e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix regression in setup-toolchainsChristian Kandeler2016-06-291-3/+8
| | | | | | | The tool should not abort just because one profile could not be set up. Change-Id: I88cf897b3346fb75d12bb32b9f5f634f34f3c1b2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Determine Visual Studio architecture & build environment automatically.Jake Petroules2016-06-271-41/+51
| | | | | | | | | This moves one step further to making the setup-toolchains tool unnecessary and also makes the toolchainInstallPath of MSVC profiles consistent with what Qt Creator sets. Change-Id: I3eb11b456bf02bde8993ec0dac7e0f9950174a08 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Replace 'the Qt build suite' with 'Qbs' in copyright notices.Jake Petroules2016-06-061-1/+1
| | | | | | Change-Id: I885d94bb14b325dc36767a840ebdb0be1fb59dd2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* setup-toolchains: Allow to set up a single, named MSVC profile.Christian Kandeler2016-02-291-2/+19
| | | | | Change-Id: I42ba3fd646ef488435be90f7e4daa6fb7e83f05f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Add an internal helper class for getting Visual Studio version info.Jake Petroules2015-08-251-23/+4
| | | | | | | | | Make use of it where possible. This is primarily for use by the Visual Studio project generator. Change-Id: Ifa374c1293b790e9f910a2a53a932f4991be424c Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* MSVC probe: support all architectures.Jake Petroules2015-07-291-4/+12
| | | | | Change-Id: I2331492e2fdb19560e5bef7b23d479a636b2be0c Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Reduce setup information hardcoded into toolchain probes.Jake Petroules2015-07-271-5/+0
| | | | | | | This moves a step closer to making profiles as thin as possible. Change-Id: I35fa165c2fa50e9830a460521ba0e3c2c97284c6 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* make MSVC 2015 known to setup-toolchainsJoerg Bornemann2015-04-081-0/+3
| | | | | Change-Id: I15e7039438b0deab4ac45631148b18b65bd2d587 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* make warning about unknown MSVC versions more visibleJoerg Bornemann2015-04-081-1/+1
| | | | | Change-Id: I248261266fa2f2d30a3d660d5a8e9ef0c96f0695 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* update license headersJoerg Bornemann2015-03-021-2/+2
| | | | | Change-Id: I36d825db3a5ef32c162c3063aab1e8a1f2696f4f Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Remove qbs.endianness property - it is not used and will not be used.Jake Petroules2015-02-041-1/+0
| | | | | | Change-Id: I21802d17d5aaae8140ad6f666b1571a2f321e18e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Merge branch '1.3' into 'master'Christian Kandeler2015-01-281-6/+6
|\ | | | | | | | | | | | | | | | | Conflicts: doc/reference/jsextensions/jsextensions-general.qdoc src/lib/corelib/language/evaluatorscriptclass.cpp src/lib/corelib/language/evaluatorscriptclass.h Change-Id: Ic9b77b56e8fc8bf93e0a553930757de8c93fed22
| * Update LicenseEike Ziller2015-01-261-6/+6
| | | | | | | | | | Change-Id: I092fca9f950de1ba38826c33b155f86feae2770b Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Merge remote-tracking branch 'origin/1.3'Joerg Bornemann2014-10-161-7/+8
|\| | | | | | | | | | | | | | | Conflicts: qbs_version.pri version.js Change-Id: I645b2f37bae9d36d4bca54b267d57df8b0b7fd21
| * License update.Eike Ziller2014-10-161-7/+8
| | | | | | | | | | | | | | Add LGPLv3 option. Change-Id: I8a63ad5e46a2701032b2103f791df4dec5b707e8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/1.3'Joerg Bornemann2014-10-101-5/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: share/qbs/modules/cpp/GenericGCC.qbs src/app/qbs-setup-toolchains/probe.cpp src/lib/corelib/buildgraph/buildgraph.cpp src/lib/corelib/language/language.cpp src/lib/corelib/language/language.h tests/auto/api/tst_api.cpp tests/auto/blackbox/tst_blackbox.cpp tests/auto/blackbox/tst_blackbox.h Change-Id: Ie337cd6b55ec1de4f906cb8311959eeb7bc6d686
| * Add tools/architectures.hChristian Kandeler2014-10-061-5/+3
| | | | | | | | | | | | | | | | | | | | The architecture-related functions do not belong into hostosinfo.h. What's even worse is that we currently include that private header in Qt Creator, which is a no-go. So introduce a new public header that supplies the required functionality. Change-Id: I413c1bcfdf799f3aa768ce5c116f0122da8ac81c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Cpp module: Make the compiler version available as properties.Christian Kandeler2014-08-211-1/+5
|/ | | | | | | It is conceivable that rules might be interested in this information. Change-Id: If1a93a226b48c8dfe807c6a3747eaf52580dc378 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* detect Visual Studio build environment using vcvarsall.batJoerg Bornemann2014-04-081-5/+19
| | | | | | | | | | | | | | | To provide a consistent build environment for Visual Studio setup-toolchains now executes the vsvarsall.bat that comes with the Visual Studio installation. The environment is written to the profile under the key "buildEnvironment". The setupBuildEnvironment script in windows-msvc.qbs isn't needed anymore. Task-number: QBS-444 Task-number: QBS-508 Change-Id: I3191f5ff127bed6b96ce5ea5520b20fc9646364f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* move MSVC info classes to separate fileJoerg Bornemann2014-04-031-14/+1
| | | | | Change-Id: I1f10d1eb87ed0fe67cd1b8bc79d8c76d229e98de Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Let detect-toolchains be used like setup-qt.Christian Kandeler2014-02-131-0/+223
Namely, let people specify a specific compiler and profile name instead of offering only auto-detection. Also rename to setup-toolchains for even more consistency. Task-number: QBS-496 Change-Id: I8c144d7b4dd26e38652f10c1fff56af4daf3cecb Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>