aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cmakeprojectmanager/fileapireader.cpp
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Remove magic configuration from CMakeTobias Hunger2020-06-091-27/+43
| | | | | | | | | | | | | | | | | | | | | | Get rid of magic configuration handling in the CMakeProjectManager. * Use CMakeCache.txt as the sole source of truth, do not keep a shadow copy of configuration in the .user file * Have initial CMake arguments that are easy to edit in batch (Fixes: QTCREATORBUG-18179) used whenever no CMakeCache.txt file is in the build directory. These allow for any thing that can be passed to CMake on the command line. (Fixes: QTCREATORBUG-16296) * Ask when changes to CMake configuration were not applied (Fixes: QTCREATORBUG-18504) * Run cmake with arguments effecting its configuration only when the CMake settings are changed in the UI, run CMake without any special arguments in all other cases. * Get rid of the confusing dialog used to keep settings in sync between what is in CMakeCache.txt and Creator (Fixes: QTCREATORBUG-23218) Change-Id: I26d55be7df733f084f5691ecf7d7b4352f58b8e7 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Move notification on outside cmake runs into FileApiReaderTobias Hunger2020-05-151-10/+33
| | | | | | | | | Move the detection of outside cmake runs into FileApiReader and make the FileApiParser non-interactive. Change-Id: I70afc1df35fcfe90e88822569579154aabbdb1cd Fixes: QTCREATORBUG-24015 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Clean up API of FileApiParserTobias Hunger2020-05-151-5/+5
| | | | | | | | Clean up the API of FileApiParser in preparation of moving the FileSystemWatcher out of that class and into FileApiReader. Change-Id: I5618252dd98a39f6a70f56b50fb50327e8b43e84 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Remove BuildDirManagerTobias Hunger2020-04-301-0/+2
| | | | | | | | | The BuildDirManager was used to switch between different BuildDirReaders. Now that only the FileApiReader is left, that infrastructure is no longer needed. Change-Id: I2d339a3407bb633cff6a8f7502b7b09094f63fef Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CMake: Disable switching between different readersTobias Hunger2020-04-301-9/+2
| | | | | | | | | | Remove the code that switches between different types of readers based on what the different CMake binaries support. This is no longer needed since only file-api is supported now. Change-Id: Ia86d143f5e2cecc2bcd68ab7d62503915a32d223 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CMake: Fix includes all over the CMake pluginTobias Hunger2020-04-201-13/+0
| | | | | | | | | | | | | | 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: Fix typo in symbol namesTobias Hunger2020-03-191-1/+1
| | | | | | | | | I can't spell occurred:-/ Similar typos in 3rd party code (sqlite) has been left in place. Change-Id: I7cfa9911fc434d42ce3df8e9c7ccb83dc00401e8 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Pass extra project files as QSethjk2020-03-031-2/+2
| | | | | | | They are available in some cases as such, and consumed as such. Change-Id: I9866c7d7bd817fb19a8b11a0efbe583ed55fe393 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* CMakeBuildSystem: Don't re-update code model on CMakeLists.txt savesCristian Adam2020-02-201-12/+1
| | | | | | | | | | | | | | | | | Currently if you edit a CMakeLists.txt and then press save, the code model will be reindexed. On projects like Qt Creator this operation is quite significant. Note that the code model is updated after CMake has run on the project, which is what I would expect. Saving the CMakeLists.txt and not running CMake has no effect on the project, and the code model shoudn't be reindexed. Change-Id: I61289fda60752ef002cf3625d339d4fcaf144d1b Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Make various Q_LOGGING_CATEGORY's staticAlessandro Portale2020-01-151-1/+1
| | | | | Change-Id: I43d3a198b0863d85a7fb305c7cb768f68acbd139 Reviewed-by: hjk <hjk@qt.io>
* CMake: Fix build directory location in fileapi and tealeaf readerTobias Hunger2019-10-181-1/+1
| | | | | | | | Sorry, this was wrong in 196b0da08add8b36a118481314bd10a3a3dd78e0 Change-Id: Id2d6a5fb180ccc74c6fea0559466f8e390de69e8 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: Write creators settings into build directoryTobias Hunger2019-10-181-2/+2
| | | | | | | | | | | | | Write a file qtcsettings.cmake into the build directory. This file contains all applicable CMake configuration settings that creator wants to set. Use "cmake -C qtcsettings.cmake .." to reconfigure on the command line to make use of this file. Change-Id: I4a69d082c50bb66e60b4eec1b3155df53e00734d Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: Reset process in fileapi reader once it is doneTobias Hunger2019-10-081-0/+2
| | | | | | | This is what made "Run CMake" only work every second attempt. Change-Id: If539941138072504225fa6461379f92a0991deac Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CppTools: Move RawProjectPart to ProjectExplorerEike Ziller2019-09-111-2/+2
| | | | | | | | Doesn't have any dependencies into CppTools anymore, therefore moving it reduces the dependencies of the project managers to CppTools as well. Change-Id: Ibe728abe59eb88a8877943dca1f48a85163e27ac Reviewed-by: hjk <hjk@qt.io>
* CMakeProjectManager: Work around deprecation warninghjk2019-08-301-1/+1
| | | | | Change-Id: I2e2281395ca030ba76334fba8a574c145bc1dbf5 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Simplify based on Project::projectFileIsDirty signalTobias Hunger2019-08-161-0/+5
| | | | | | | | | | | Delegate all the necessary file watching to Project and connect to the relevant signal. Server-mode insists on watching files itself, so that may not report extra project files. Change-Id: If821c54a7b0f8b72beed53dd1c83f255973faf3e Reviewed-by: hjk <hjk@qt.io>
* CMake: More logging of cmake parsing flagsTobias Hunger2019-08-091-1/+1
| | | | | | | | Add more logging of cmake parsing flags as cmake runs are requested in the plugin. Change-Id: I5231bd29dfeb6521218dc28c26a5b658ccb4059b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Make fileapi not race against its own reply file detectionTobias Hunger2019-07-251-0/+2
| | | | | | | | | | | Fix broken logic to prevent CMake fileapi from detecting the change its own cmake run triggered via file watching. Remember the last file that was parsed and do not attempt to parse this again. Remember the file on a per-project basis, too:-) Change-Id: Ia6e155b65d77994f6e3d2a3677f770a4ba53539d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Update code to decide whether to run cmake in fileapi modeTobias Hunger2019-07-231-5/+16
| | | | | Change-Id: Iea841bb49876a580abc80cc7ea21a88b153cc224 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Add an option to override cmake reader typeTobias Hunger2019-06-201-1/+1
| | | | | | | | | | | | | | | Add an option to override the cmake reader type that is going to be used. By default the reader type is "auto" for autodetection, but that can get changed in the cmaketools.xml settings file. Other supported options are "tealeaf", "servermode" or "fileapi" and that will force that reader. You can also set QTC_CMAKE_IGNORE_FILEAPI=1 in your environment to force creator to ignore the existence of fileapi support in all cmake tools. Change-Id: I2006616312090ce2909154dc1966f7a8eaa2949a Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Add initial fileapireader classTobias Hunger2019-06-201-0/+283
Change-Id: I620cba7cc1c2a5ac56789fa9770dce573c6b19cd Reviewed-by: Eike Ziller <eike.ziller@qt.io>