CMake merge requestshttps://gitlab.kitware.com/cmake/cmake/-/merge_requests2023-12-11T12:11:28-05:00https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5370server: remove deprecated 'cmake -E server' mode2023-12-11T12:11:28-05:00Brad Kingserver: remove deprecated 'cmake -E server' modeThe server mode has been deprecated since CMake 3.15 (!3251), and its replacement has been available since CMake 3.14. Clients should now be using the file-api. Remove the server mode.
Issue: #19101The server mode has been deprecated since CMake 3.15 (!3251), and its replacement has been available since CMake 3.14. Clients should now be using the file-api. Remove the server mode.
Issue: #191013.20.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/3251server: deprecate in favor of the file-api2020-10-14T13:10:52-04:00Brad Kingserver: deprecate in favor of the file-apiDocument the server mode as deprecated. Add a deprecation message
to the configure step output when invoked through server mode.
Closes: #19101Document the server mode as deprecated. Add a deprecation message
to the configure step output when invoked through server mode.
Closes: #191013.15.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/2898cmake-server: Normalize build and source directories2019-02-01T08:11:24-05:00Gregor Jasnycmake-server: Normalize build and source directoriesFixes: #18862
Topic-rename: server-normalize-paths
Fixes: #18862
Topic-rename: server-normalize-paths
3.14.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/2735Server mode: Fix regression of hasInstallRule2018-12-13T10:01:37-05:00Kyle EdwardsServer mode: Fix regression of hasInstallRuleThe introduction of policy CMP0082, to run subdirectory install
rules in the correct order, caused a regression in server mode
where any directory with a subdirectory is marked as having an
install rule even if no "real" install rules ar...The introduction of policy CMP0082, to run subdirectory install
rules in the correct order, caused a regression in server mode
where any directory with a subdirectory is marked as having an
install rule even if no "real" install rules are present. This
change fixes this regression for server mode.3.14.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/2556server: Fix assertion failure on directory paths in file monitor2018-11-02T07:48:38-04:00Brad Kingserver: Fix assertion failure on directory paths in file monitorFixes: #18532Fixes: #185323.12.4Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/2495cmake-server: Revert "Support codemodel filegroups for INTERFACE_SOURCES"2018-10-24T07:26:34-04:00Brad Kingcmake-server: Revert "Support codemodel filegroups for INTERFACE_SOURCES"Revert !2282. The changes activate code paths not meant to be used with interface libraries. Another approach will be needed to expose this information later.
This revert has to be done by hand because the code in question has been ch...Revert !2282. The changes activate code paths not meant to be used with interface libraries. Another approach will be needed to expose this information later.
This revert has to be done by hand because the code in question has been changed somewhat since the changes were made, and was also factored out to another source file.
Fixes: #184633.13.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/2408server: Split json object generation into separate source2018-09-24T07:07:43-04:00Brad Kingserver: Split json object generation into separate sourceFactor the json object generation out from the rest of the server-specific code and compile it in a separate source that doesn't see any server code. This will make it re-usable for other ways of reporting the json objects.Factor the json object generation out from the rest of the server-specific code and compile it in a separate source that doesn't see any server code. This will make it re-usable for other ways of reporting the json objects.3.13.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/2278cmState: Clear GlobVerificationManager state on Reset2018-08-24T13:40:45-04:00Shane ParriscmState: Clear GlobVerificationManager state on ResetFollow up !1767.
Fixes: #18208
Topic-rename: state-reset-glob
Follow up !1767.
Fixes: #18208
Topic-rename: state-reset-glob
3.12.2Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/1756Simplify and reenable backtraces so that they take up much less memory. Add…2018-02-21T03:47:47-05:00Rich ChiodoSimplify and reenable backtraces so that they take up much less memory. Add…Simplify and reenable backtraces so that they take up much less memory. Add tests to verify support for backtraces is available.
Example: https://github.com/Kitware/kwiver
Old (3.10) codemodel json : 14 MBs
New codemodel json with trace...Simplify and reenable backtraces so that they take up much less memory. Add tests to verify support for backtraces is available.
Example: https://github.com/Kitware/kwiver
Old (3.10) codemodel json : 14 MBs
New codemodel json with traces : 4MB
New codemodel json without traces : 2MBhttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/1693server-mode: Polish optional arguments for handshake2018-01-25T08:35:30-05:00Tobias Hungerserver-mode: Polish optional arguments for handshake@purpleKarrot implemented optional arguments for the server-mode handshake.
These patches polish that a bit.
Topic-rename: server-polish-opt-handshake
@purpleKarrot implemented optional arguments for the server-mode handshake.
These patches polish that a bit.
Topic-rename: server-polish-opt-handshake
3.11.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/1673server: fix crash if no min version specified2018-01-22T10:19:30-05:00Justin Goshiserver: fix crash if no min version specifiedIf a CMakeLists.txt file doesn't contain cmake_minimum_required then the
server was crashing. The root cause was the json object model does not
support null and was crashing. Add the null check and use an empty
string in this case.If a CMakeLists.txt file doesn't contain cmake_minimum_required then the
server was crashing. The root cause was the json object model does not
support null and was crashing. Add the null check and use an empty
string in this case.3.11.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/1633server: Expand generator expressions for test info2018-01-10T10:34:26-05:00Justin Goshiserver: Expand generator expressions for test infoBrad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/1564server: Revert "Report backtraces in codemodel response"2017-12-07T08:09:52-05:00Brad Kingserver: Revert "Report backtraces in codemodel response"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 !992, except
for the protocol version number (beca...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 !992, 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.
Backtrace information was included in test info by !1414 to match that
already provided for targets. Drop that too for now.
Fixes: #17502
3.10.1Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/1508test: Updated server test harness to try to cause fragmentation2017-12-01T08:15:53-05:00jdavidbergertest: Updated server test harness to try to cause fragmentationFrom discussion in !1498 this stress tests buffering in server mode by sending packets one byte at a time.From discussion in !1498 this stress tests buffering in server mode by sending packets one byte at a time.3.11.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/1498Fix bad message parsing in CMake server2017-11-20T10:35:03-05:00vector-of-boolFix bad message parsing in CMake server> If a partial message is flushed into the input pipe for CMake Server,
> the parser will try and parse it as a full message because of some bad
> loop checks.
Found this problem with my [extension](https://github.com/vector-of-bool/vsc...> If a partial message is flushed into the input pipe for CMake Server,
> the parser will try and parse it as a full message because of some bad
> loop checks.
Found this problem with my [extension](https://github.com/vector-of-bool/vscode-cmake-tools/issues/261) because I send the message in three separate calls: The magic header, the body, and the magic footer. CMake tries to parse JSON immediately after I send the magic header, and the connection barfs.
This bug is present only in the 3.10.0 RC. Maybe want to get this merged into 3.10? I can kind of work around the problem if I send the whole message in a single call, but it's not guaranteed that I won't randomly hit a buffer boundary and the connection will barf again.3.10.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/1489server: project level has install rule bug fix2017-11-20T09:42:08-05:00Justin Goshiserver: project level has install rule bug fixA project should be marked as having an install rule if it has any
install generators or if any of its targets have an install rule.A project should be marked as having an install rule if it has any
install generators or if any of its targets have an install rule.3.11.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/1479server: ctestInfo fix to return all tests2017-11-27T08:51:46-05:00Justin Goshiserver: ctestInfo fix to return all testsPrior to this change we were looking at targets. But tests are
associated with directories. This change fixes how we gather all tests.Prior to this change we were looking at targets. But tests are
associated with directories. This change fixes how we gather all tests.3.11.0Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/1475server: return whether or not a target is generator-provided2017-11-27T08:52:08-05:00Justin Goshiserver: return whether or not a target is generator-providedTopic-rename: server-target-isGeneratorProvided
Topic-rename: server-target-isGeneratorProvided
Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/1474server: ctestInfo should return global targets2017-11-14T13:10:47-05:00Justin Goshiserver: ctestInfo should return global targetsWithout returning info on global targets we were missing some tests.Without returning info on global targets we were missing some tests.https://gitlab.kitware.com/cmake/cmake/-/merge_requests/1462server: return minimum cmake required version for each project2017-11-10T07:51:16-05:00Justin Goshiserver: return minimum cmake required version for each project3.11.0Brad KingBrad King