| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Closes: #16539
|
|\
| |
| |
| |
| | |
7789dd9a server-mode: Call ResetErrorOccured before configure
|
| |
| |
| |
| | |
Closes: #16506
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
5dec0a23 server-mode: Fix per-source COMPILE_FLAGS genex evaluation
|
| | |
| | |
| | |
| | |
| | |
| | | |
Logic added by commit 1e4bb358 (Add generator expression support to
per-source COMPILE_FLAGS, 2016-10-25) accidentally frees memory before
finishing with it. Revise the logic to hold the memory long enough.
|
|\ \ \
| | |/
| |/|
| | |
| | | |
28e891f0 server-mode: Do not ignore the first cacheArgument on configure
|
| | |
| | |
| | |
| | |
| | | |
SetCacheArgs skips the first argument it gets, so add some padding before
calling it.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
516a2cd3 server-mode: Reset GlobalGenerator before configure
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is what cmake-gui also does to avoid CMake crashing on repeated
attempts to configure it.
Fixes #16423.
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | | |
9a58517d Tests: Add case for Xcode per-config per-source COMPILE_FLAGS diagnostic
1e4bb358 Add generator expression support to per-source COMPILE_FLAGS
|
| | |
| | |
| | |
| | |
| | |
| | | |
This allows users to specify different genex-based compile flags for
each file in a target, e.g. compiling just a single file with `Od/Ox` in
release builds on Visual Studio.
|
|/ / |
|
|\ \
| |/
| |
| |
| |
| | |
42ccbee1 server-mode: Handle generator toolset and platform in handshake
d792491c cmake-server: Better error reporting during handshake
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Catch more problematic input during handshake and report failure.
These were caught before when trying to configure, but it is way better
to get these reports early.
|
|\ \
| | |
| | |
| | |
| | |
| | | |
effa6c83 fix more issues reported by clang-tidy
fb461cac silence selected clang-tidy violations
|
| | | |
|
| | | |
|
|/ / |
|
| |
| |
| |
| | |
Add UseWatcomQuote state, and remove corresponding method parameters.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a cmOutputConverter to the cmLinkLineComputer and factory methods to
facilitate shell escapes.
Add state to the cmLinkLineComputer to record whether outputting for
response files or for watcom, to satisfy the cmOutputConverter API.
These are constant for the lifetime of the cmLinkLineComputer, even when
its functionality is extended in the future. This also keeps the
signatures of cmLinkLineComputer relatively simple.
Pass the cmComputeLinkInformation as a method parameter so that
cmLinkLineComputer is free from target-specific state. An instance
should be usable for all targets in a directory.
|
|/
|
|
|
|
|
|
|
|
|
| |
CMake has several classes which have too many responsibilities.
cmLocalGenerator is one of them. Start to extract the link line
computation. Create generator-specific implementations of the interface
to account for generator-specific behavior.
Unfortunately MSVC60 has different behavior to everything else and CMake
still generates makefiles for it. Isolate it with MSVC60-specific
names.
|
|
|
|
| |
Watch CMakeLists.txt files (and similar) from the Server
|
|
|
|
| |
* Add a command to report watched files and directories to clients.
|
|
|
|
|
|
|
| |
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"
|
|
|
|
|
| |
With this it would be possible to implement something like
cmake-gui using server-mode.
|
|
|
|
| |
Add a command to retrieve files that are input to cmake itself.
|
|
|
|
|
| |
Add "codemodel" command to report information relevant to feed a code
model.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
"setGlobalSettings" can be used to change settings reported by
"globalSettings" command.
|
|
|
|
|
|
|
| |
Add "globalSettings" command that returns:
* Return capability information
* Return currently used generator/extra generator
* Return a range of flags for debug/trace/etc.
|
| |
|
|
|
|
| |
Enable the server to send signals.
|
|
|
|
| |
The information will be needed to send signals.
|
|
|
|
|
| |
This removes some duplication and makes it easier to reuse the
vocabulary.
|
|
|
|
|
| |
Pass messages sent from cmake via Error(...) or Message(...) on
to clients.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
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.
|