summaryrefslogtreecommitdiff
path: root/Source/cmServerDictionary.h
Commit message (Collapse)AuthorAgeFilesLines
* server: Split json dictionary into separate headerBrad King2018-09-211-38/+0
| | | | | | Move dictionary entries used by the json object generation code into a separate header. These are distinct from the server-only entries used in the protocol implementation.
* cmake-server: Support codemodel filegroups for INTERFACE_SOURCESJustin Goshi2018-08-301-0/+1
| | | | | | | | | This change returns information for INTERFACE_SOURCES. We add a flag to the filegroup to indicate if the target represents interface sources. Protocol version is updated to 1.3 since this is a change to what was released in cmake version 3.12.
* Merge branch 'backport-revert-server-target-backtraces' into ↵Brad King2017-12-061-5/+0
|\ | | | | | | revert-server-target-backtraces
| * server: Revert "Report backtraces in codemodel response"Brad King2017-12-061-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The backtrace information is very repetitive and hugely increases the size of the codemodel object. We need to remove it until an alternative representation can be developed. Revert commit v3.10.0-rc1~393^2 (server: Report backtraces in codemodel response, 2017-06-20), except for the protocol version number (because it indicates other new things). Unfortunately this is incompatible with clients that expect the "crossReferences" field in targets. However, the regression in memory usage is quite serious, especially on large projects, and therefore breaks even older clients that do not use backtraces. Since the "crossReferences" field was only provided by one release (3.10.0), it is simplest to revert it outright for 3.10.1. Fixes: #17502
* | Merge topic 'server-target-isGeneratorProvided'Brad King2017-11-271-0/+1
|\ \ | | | | | | | | | | | | | | | | | | afd9a339 server: return whether or not a target is generator provided Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1475
| * | server: return whether or not a target is generator providedJustin Goshi2017-11-201-0/+1
| | | | | | | | | | | | | | | | | | Some generators auto-generate targets. For example VS generators create the ALL_BUILD target. Add the ability to mark targets as generator provided and return that info through cmake-server codemodel.
* | | server: ctestInfo fix to return all testsJustin Goshi2017-11-171-1/+0
|/ / | | | | | | | | Prior to this change we were looking at targets. But tests are associated with directories. This change fixes how we gather all tests.
* | server: return minimum cmake required version for each projectJustin Goshi2017-11-071-0/+1
| |
* | server: add "ctestInfo" request to get test infoJustin Goshi2017-11-031-0/+5
| |
* | cmake-server: Add target install destinations to codemodelJustin Goshi2017-10-241-0/+2
|/ | | | | Protocol version is updated to 1.2 since this is a change to what was released in cmake version 3.10.
* server: Report backtraces in codemodel responseIvan Shcherbakov2017-07-111-0/+5
| | | | | | | | | | Report the source locations (e.g. in `CMakeLists.txt`) for all targets and target-related statements. This allows IDEs to locate the statements and automatically edit them when the user adds or removes files or changes target properties via GUI. Increment the protocol minor version number to tell clients that the new information is available.
* server-mode: Handle generator toolset and platform in handshakeTobias Hunger2016-10-281-0/+2
|
* cmake-server: Change message wrapper to avoid ambiguity with contentBrad King2016-10-241-2/+2
| | | | | | | | | | | | | Change our message wrapper from [== CMake Server ==[ ... ]== CMake Server ==] to [== "CMake Server" ==[ ... ]== "CMake Server" ==] to guarantee that no JSON content can ever contain the ending string (because it would be encoded as `]== \"CMake Server\" ==]`).
* server-mode: Watch CMakeLists.txt filesTobias Hunger2016-09-291-0/+6
| | | | Watch CMakeLists.txt files (and similar) from the Server
* server-mode: Report watched files to clientTobias Hunger2016-09-291-0/+3
| | | | * Add a command to report watched files and directories to clients.
* server-mode: Report CMakeCache entriesTobias Hunger2016-09-281-0/+6
| | | | | With this it would be possible to implement something like cmake-gui using server-mode.
* server-mode: Add command to retrieve build system filesTobias Hunger2016-09-281-0/+5
| | | | Add a command to retrieve files that are input to cmake itself.
* server-mode: Report information relevant for a codemodelTobias Hunger2016-09-281-0/+22
| | | | | Add "codemodel" command to report information relevant to feed a code model.
* Simplify CMake per-source license noticesBrad King2016-09-271-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* server-mode: Add command to compute the build systemTobias Hunger2016-09-261-0/+1
|
* server-mode: Add a configure commandTobias Hunger2016-09-261-0/+2
| | | | | | | Add a command to trigger cmake to configure a project. Keep this separate from the compute step (added in the next commit) to faciliate applications like cmake-gui.
* server-mode: Set global configuration of cmake via a commandTobias Hunger2016-09-261-0/+1
| | | | | "setGlobalSettings" can be used to change settings reported by "globalSettings" command.
* server-mode: Query global configuration of cmake via a commandTobias Hunger2016-09-261-0/+9
| | | | | | | Add "globalSettings" command that returns: * Return capability information * Return currently used generator/extra generator * Return a range of flags for debug/trace/etc.
* server-mode: Allow for sending signalsTobias Hunger2016-09-221-0/+2
| | | | Enable the server to send signals.
* server-mode: Move constants for server mode into its own fileTobias Hunger2016-09-221-0/+47
This removes some duplication and makes it easier to reuse the vocabulary.