summaryrefslogtreecommitdiff
path: root/Source/cmServerProtocol.h
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Remove broken '--warn-unused-vars' optionBrad King2020-06-291-0/+1
| | | | | | | | | | | | | This option has been broken since commit b9f9915516 (cmMakefile: Remove VarUsageStack., 2015-05-17, v3.3.0-rc1~52^2). That commit removed the check that an initialized variable has actually been used and caused the option to warn on every variable ever set. This was not caught by the test suite because the test for the feature only checked that warnings appear when needed and not that they do not appear when not needed. The option was never very practical to use. Remove it to avoid the runtime cost of usage tracking and checks for every variable (which we were doing even when the option was not used).
* Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-071-1/+1
| | | | Fixes: #20666
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-3/+4
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* clang-tidy: Blacklist violations for version 8Regina Pfeifer2019-07-301-2/+2
| | | | | Check the codebase with clang-tidy version 8, fix the low hanging fruits, blacklist the rest.
* clang-tidy: Use `= delete`Regina Pfeifer2019-01-291-2/+3
|
* clang-tidy: Pass by valueRegina Pfeifer2019-01-221-9/+6
|
* server: add "ctestInfo" request to get test infoJustin Goshi2017-11-031-0/+1
|
* IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-1/+1
| | | | Also remove `#include "cmConfigure.h"` from most source files.
* Merge topic 'server-refactor'Brad King2017-07-181-1/+4
|\ | | | | | | | | | | | | | | | | | | cf0ae55d server: Add support for connections that aren't event based 5ddfb6a4 server: Add connection as part of a request d4f5d35c server: Refactor to make the event loop owned by server object 5acbf08b Tests: Teach Server test to forward exit code from server process Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !552
| * server: Add connection as part of a requestJustin Berger2017-07-101-1/+4
| |
* | server: Rename cmServerProtocol1_0 to cmServerProtocol1Ivan Shcherbakov2017-07-061-1/+1
|/ | | | | | It will serve additional minor versions. Suggested-by: Tobias Hunger <tobias.hunger@qt.io>
* cmServer: include what you useDaniel Pfeifer2017-05-061-8/+8
|
* server-mode: Reset GlobalGenerator before configureTobias Hunger2016-11-141-0/+24
| | | | | | | This is what cmake-gui also does to avoid CMake crashing on repeated attempts to configure it. Fixes #16423.
* server-mode: Watch CMakeLists.txt filesTobias Hunger2016-09-291-0/+4
| | | | Watch CMakeLists.txt files (and similar) from the Server
* server-mode: Report watched files to clientTobias Hunger2016-09-291-0/+1
| | | | * Add a command to report watched files and directories to clients.
* server-mode: Add infrastructure to watch the filesystemTobias Hunger2016-09-291-0/+2
| | | | | | | Enable the server to watch for filesystem changes. This patch includes * The infrastructure for the file watching * makes that infrastructure available to cmServerProtocols * Resets the filesystemwatchers on "configure"
* server-mode: Report CMakeCache entriesTobias Hunger2016-09-281-0/+1
| | | | | 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/+1
| | | | Add a command to retrieve files that are input to cmake itself.
* server-mode: Report information relevant for a codemodelTobias Hunger2016-09-281-0/+1
| | | | | 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-1/+3
|
* server-mode: Add a configure commandTobias Hunger2016-09-261-1/+3
| | | | | | | 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/+4
| | | | | | | 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: Pass server into cmServerProtocolTobias Hunger2016-09-221-1/+3
| | | | The information will be needed to send signals.
* server-mode: Report Messages from cmake to clientsTobias Hunger2016-09-201-0/+2
| | | | | Pass messages sent from cmake via Error(...) or Message(...) on to clients.
* server-mode: Automate progress reportingTobias Hunger2016-09-201-3/+5
| | | | | Wire up cmake::SetProgressUpdate to do progress reporting via the cmake server.
* server-mode: Add --experimental flagTobias Hunger2016-09-201-0/+2
| | | | | | | | Allow for experimental cmProtocolVersions, which will only ever get listed if the server was started with the (undocumented) "--experimental" flag. Mark current protocol version 1.0 as experimental.
* cmake-server: Implement ServerProtocol 1.0Tobias Hunger2016-09-191-0/+18
| | | | | | | | | | | | | | Enable the initial handshake of the client to complete the connection to the server. The handshake sets the protocol version that client and server will use to talk to each other. The only way to change this is to quit the server and start over. CMake specific information is also set during the initial handshake. Since cmake so far never had to change basic information about any project while running, it was decided to keep this information static and require a restart of the cmake server to change any of these.
* cmake-server: Bare-bones server implementationTobias Hunger2016-09-191-0/+97
Adds a bare-bones cmake-server implementation and makes it possible to start that with "cmake -E server". Communication happens via stdin/stdout for now. Protocol is based on Json objects surrounded by magic strings ("[== CMake Server ==[" and "]== CMake Server ==]"), which simplifies Json parsing significantly. This patch also defines an interface used to implement different versions of the protocol spoken by the server, but does not include any protocol implementaiton.