aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cmakeprojectmanager/cmaketoolmanager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Core/Utils: Migrate further to Utils::Idhjk2020-07-061-3/+4
| | | | | | | | The coreplugin/id.h header is kept for downstream for now. Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66 (cherry picked from commit 430a33dcd9ac80ddb848e41f8f059102857c88aa) Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Fix includes all over the CMake pluginTobias Hunger2020-04-201-3/+1
| | | | | | | | | | | | | | Keep internals internal, remove some unnecessary includes, add some that should have been there. This reduces the number of files that get rebuild when working on CMake internals from over 1000 to about 200. This patch also moves some code around that ended up being in the wrong file. Change-Id: Icd7366ac760dc85031040720418fbb16336dce9b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Make use of CMake-provided .qch filesTobias Hunger2019-10-161-1/+18
| | | | | | | | | | | * Have UI to select a .qch file location in CMake Tool setup * Auto-detect CMake's .qch file in its default location (relative to the cmake executable) * Register the .qch files with the HelpManager Task-number: QTCREATORBUG-21338 Change-Id: I4057eec42c39535012d9f0daf788fc62ef20d544 Reviewed-by: hjk <hjk@qt.io>
* CMake: Remove unused functionEike Ziller2019-08-121-14/+0
| | | | | Change-Id: I6b793e0cb01b989f3087dcefe091b77bcfebe370 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Utils: Rename FileName to FilePathhjk2019-05-281-2/+2
| | | | | | | | More in line with QFileInfo terminonlogy which appears to be best-of-breed within Qt. Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* CMakePM: Fix order of initializationChristian Stenger2019-03-201-1/+1
| | | | | | | | | CMakeToolManager instance must be created first to avoid connects to a nullptr. Change-Id: If8738a26d58c80ffc9a63193240895f1bc9a87ae Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CMake: Use SettingsAccessor to read/write CMakeTools fileTobias Hunger2018-07-101-203/+8
| | | | | Change-Id: Idcb0d97c8ef4037ea97d8498f935f8631ca30bc5 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Use unique_ptr to store CMakeTools in CMakeToolManagerTobias Hunger2018-07-101-67/+65
| | | | | Change-Id: I4dfb76b40e22da745b80c359d544fa2b6d3dac52 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Make handling of default CMakeTool more consistentTobias Hunger2018-07-031-27/+24
| | | | | Change-Id: Idc2ba2c51122855f0b335f89ca5f916dea7665c5 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Simplify CMakeTool registration in CMakeToolManagerTobias Hunger2018-07-021-10/+9
| | | | | Change-Id: Ida5e6aea8c39ef21f535e06c8fed11b130f875e9 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Remove CMakeTool::addCMakeTool methodTobias Hunger2018-07-021-15/+9
| | | | | Change-Id: I9c6abb58711acc14ae78d79b6f077034389c0a6f Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Fix header-related issues in CMakeToolManagerTobias Hunger2018-06-291-4/+4
| | | | | | | | Just reorder some lines, make it clearer where the headers are actually used. Change-Id: Iec5cf98e7cfad7ee1bdd98df85df38b03c54dff4 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Remove handling of legacy settings for CMakeTobias Hunger2018-06-291-31/+0
| | | | | | | | | | | Remove the code that reads CMake tool location from the Qt Creator settings and then removes them from there. This code was added in QtC 4.1 to ease transition to the (back then) new cmaketools.xml settings file. Change-Id: Ice96628159f4171716882cfdefc8991ec2341556 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Move CMakeTool merging into separate functionTobias Hunger2018-06-291-36/+44
| | | | | Change-Id: I7c70e0aa09def8c7483d183791a76e56be18a0a4 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Simplify restoration of CMakeTools a bitTobias Hunger2018-06-291-13/+15
| | | | | Change-Id: If62acc96bb64e8e0c2767e35d4f2bca43cc23c65 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Move code around a bitTobias Hunger2018-06-291-5/+17
| | | | | Change-Id: I6129ee26ddd6ef2af713ad249dc884e63c1d5d6e Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Small simplificationTobias Hunger2018-06-291-2/+2
| | | | | Change-Id: Ib89f95febeb45628e99e3c6a473853da4dcde3d0 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Remove cmake autodetectionhelpersTobias Hunger2018-06-271-10/+0
| | | | | | | | No user in-tree and the Ubuntu SDK for which this code was added is no more. Change-Id: I5b0c5f6faccf1adb451c4043378a204bfc350e50 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Simplify codeTobias Hunger2018-06-011-13/+13
| | | | | | | Emit signal in addCMakeTool method directly instead of later. Change-Id: I4640ffdf76d22f80a8c1ee14f8d79cc7885ddd70 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Do not construct settings/resource paths from QSettings objectEike Ziller2018-01-111-6/+4
| | | | | | | | | | | | These paths are controlled by ICore. Add ICore::installerResourcePath() to replace constructions with settings(SystemScope) Replace constructions with settings()->fileName() by usage of ICore::userResourcePath(). Change-Id: I5a9fa9d09f2563c39dc5d11a4586da825c62f9ac Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Environment: Use Utils::FileName for path() and related methodsTobias Hunger2017-09-271-20/+15
| | | | | | | Update users accordingly. Change-Id: I9432e82308e9d0630514c6c8632aeb6b6ee0cf90 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* CMake: Fix auto-detection on WindowsOrgad Shaneh2017-09-141-2/+8
| | | | | | | Recent CMake installer (3.9) installs the executable in CMake/bin. Change-Id: I3912badc0907c91044e76b3155e924dd985819f1 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Auto-detect CMake in standard paths on Windows and macOSJake Petroules2017-06-231-0/+11
| | | | | | Change-Id: I8ae765eaed5bc234347e01fe81c208b77c1c32ec Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: Remove "Prefer Ninja" checkbox on CMake Tool pageTobias Hunger2016-02-151-25/+4
| | | | | | | | | This is no longer needed now that the generator is a property of the Kit. Change-Id: Ife35fd9207c805a4ead1e067603df1bfc77e6855 Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com> Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* CMake: Delay initialization of CMakeToolsTobias Hunger2016-01-271-3/+3
| | | | | | | | | | | Do not run cmake 5 times during startup. Delay that as far as possible. Also add a supportedGenerators() method while visiting the code anyway. Fix up and simplify the other cmake help output parsers. Change-Id: I6622d552ffe559bf099b4b278618676a045e350e Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Update License according to agreement with Free Qt FoundationTobias Hunger2016-01-191-17/+12
| | | | | | | * Update files in src/plugins Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* CMake: Semi-automatic cleanupsTobias Hunger2016-01-081-9/+5
| | | | | | | | | | | * Shorten header guards * Use override and auto where possible * Remove useless destructors, etc. * Remove private slots sections, unify private: sections * Use member initialization where it makes sense Change-Id: I00eaf6d706adc16859176d1b68c631d3336bb39f Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
* Consistently use Utils::FileNameListTobias Hunger2015-11-161-1/+1
| | | | | | | Consistently use Utils::FileNameList in favor of QList<Utils::FileName> Change-Id: Iafbb466c882bfd91c25c9e78f107d401bfdb6d55 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Cmake: Fix autodetection of cmake on WindowsDaniel Teske2015-07-171-11/+20
| | | | | | | | | | | | By using some of the infrastructure in Utils::Environment. Due to wanting to find all cmake executables in PATH and not just the first one, we need some custom code. Change-Id: If3161d712b9f6e659450a3d0647f83344e68ba5d Task-number: QTCREATORBUG-14740 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Benjamin Zeller <benjamin.zeller@canonical.com> Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* Fix leaking of CMakeToolsDaniel Teske2015-07-151-0/+1
| | | | | | | Change-Id: I36d3d19cbd0bccc3ee74f8aae1622dbed22aa45a Task-number: QTCREATORBUG-14727 Reviewed-by: Benjamin Zeller <benjamin.zeller@canonical.com> Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* CMakeProjectManager: Support mapping chroot include pathsBenjamin Zeller2015-04-211-0/+1
| | | | | | | | | Provide a way for plugins to map include paths into a build chroot. Plugins can register a path mapper if required, otherwise the paths are not touched. Change-Id: I621982831fa354d6d0f558a6c1dce4e014421f12 Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* CMakeSettings: Do not break most of other settingsEike Ziller2015-03-161-16/+15
| | | | | | | | | | | Just do not return early, which then missed a settings->endGroup() call. Fixes a regression introduced by 99e9643dea3871f26c5a09e4a1715ba84c9103e9 Change-Id: I102eb76e3381012cddb73c1132b6443dd2cd592f Task-number: QTCREATORBUG-14139 Task-number: QTCREATORBUG-14140 Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* CMakeProjectManager: Provide way for plugins to autodetect cmake toolsBenjamin Zeller2015-03-091-2/+14
| | | | | | | | | | This patch adds support for plugins to register a callback/lambda to autodetect CMakeTools that would not be found by the default auto- detection function. Without this feature the CMakeToolManager would drop autodetected CMakeTools otherwise on every start. Change-Id: I23b146e5b9acc60018ac87ea4b6cc7573fa0dd30 Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* Make CMakeTool known to the KitsBenjamin Zeller2015-03-031-6/+38
| | | | | | | | | This patch adds support for binding a specific CMakeTool to a Kit. When creating a new Kit or loading a existing one without a valid CMakeTool, the default CMakeTool will be set. Change-Id: I28d0843a01c583c4b31fc680a0ec556b40cd9c0d Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* Make it possible to register multiple cmake instancesBenjamin Zeller2015-02-241-0/+392
This patch add the CMakeToolManager, a central repository for cmake instances. One instance is always the currently used "default". By that its possible to switch between different cmake installations. The next step will be adding it to the Kits. Change-Id: I310fdd805e0ed239077a5632303e891dbd1d9ea1 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>