summaryrefslogtreecommitdiffstats
path: root/Source/cmServerProtocol.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Use C++11 nullptrDaniel Pfeifer2017-08-241-1/+1
|
* Performance: Fix a few more unnecessary vector copies missed in af3fd6fAaron Orenstein2017-08-181-1/+1
|
* cmServerProtocol: Do not move into json::Value::append()Daniel Pfeifer2017-08-151-1/+1
| | | | | | | CMake's copy of json-cpp is not aware of rvalues yet. It is confusing to pass the result of std::move to a function that takes a const& because no move will actually happen. This change may be reverted once CMake upgrades to a new version of json-cpp.
* cmServerProtocol: pass cmBacktraceRange by valueDaniel Pfeifer2017-08-151-1/+1
|
* cmServerProtocol: allow 'cache' request before 'configure'Daniel Pfeifer2017-08-131-4/+0
| | | | Fixes: #16989
* cmServerProtocol: fix test of empty valuesDaniel Pfeifer2017-08-131-7/+8
| | | | | | | If a required value is in the cache, it is not necessary to set it explicitly. Fixes: #16948, #16988
* Merge topic 'server-fix-crash'Brad King2017-08-031-1/+3
|\ | | | | | | | | | | | | 70272f3c server: Fix crash on missing cache entries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1096
| * server: Fix crash on missing cache entriesLaurent Rineau2017-08-021-1/+3
| | | | | | | | Test for nullptr before constructing std::string.
* | Merge topic 'server-refactor'Brad King2017-07-181-2/+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-111-2/+4
| |/
* | server: Report backtraces in codemodel responseIvan Shcherbakov2017-07-111-1/+51
| | | | | | | | | | | | | | | | | | | | 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: Rename cmServerProtocol1_0 to cmServerProtocol1Ivan Shcherbakov2017-07-061-17/+17
|/ | | | | | It will serve additional minor versions. Suggested-by: Tobias Hunger <tobias.hunger@qt.io>
* cmake: initialize with Role that controls which commands to registerDaniel Pfeifer2017-05-081-1/+1
|
* cmServer: include what you useDaniel Pfeifer2017-05-051-8/+13
|
* cmServerProtocol: avoid copies in range forDaniel Pfeifer2017-04-261-16/+13
|
* Replace boolean `implib` parameters with enumGregor Jasny2017-04-201-2/+4
| | | | | Named enumeration values are much clearer at call sites and add more type safety.
* Merge topic 'server-mode-fix-home-dir-check'Brad King2017-03-231-2/+22
|\ | | | | | | | | | | | | 8285ad51 server-mode: Make CMAKE_HOME_DIRECTORY more reliable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !611
| * server-mode: Make CMAKE_HOME_DIRECTORY more reliableTobias Hunger2017-03-221-2/+22
| | | | | | | | | | | | | | Make CMAKE_HOME_DIRECTORY detection work more reliably in the face of symlinks. Closes #16736
* | server-mode: Do not crash when running into INTERFACE_LIBRARYTobias Hunger2017-01-091-2/+6
| | | | | | | | Closes: #16539
* | Merge topic 'mr-reset-error-flag-on-configure'Brad King2017-01-091-0/+2
|\ \ | | | | | | | | | | | | 7789dd9a server-mode: Call ResetErrorOccured before configure
| * | server-mode: Call ResetErrorOccured before configureTobias Hunger2016-12-161-0/+2
| |/ | | | | | | Closes: #16506
* | clang-tidy: apply readability-static-definition-in-anonymous-namespace fixesDaniel Pfeifer2016-12-121-10/+9
| |
* | Merge topic 'src-COMPILE_FLAGS-genex'Brad King2016-12-051-1/+2
|\ \ | | | | | | | | | | | | 5dec0a23 server-mode: Fix per-source COMPILE_FLAGS genex evaluation
| * | server-mode: Fix per-source COMPILE_FLAGS genex evaluationTobias Hunger2016-12-021-1/+2
| | | | | | | | | | | | | | | | | | 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.
* | | Merge topic 'cmake-server-pad-arguments'Brad King2016-12-011-1/+1
|\ \ \ | | |/ | |/| | | | | | | 28e891f0 server-mode: Do not ignore the first cacheArgument on configure
| * | server-mode: Do not ignore the first cacheArgument on configureTobias Hunger2016-11-301-1/+1
| | | | | | | | | | | | | | | SetCacheArgs skips the first argument it gets, so add some padding before calling it.
* | | Merge topic 'cmake-server-fix-16423'Brad King2016-11-151-28/+53
|\ \ \ | |/ / | | | | | | | | | 516a2cd3 server-mode: Reset GlobalGenerator before configure
| * | server-mode: Reset GlobalGenerator before configureTobias Hunger2016-11-141-28/+53
| | | | | | | | | | | | | | | | | | | | | This is what cmake-gui also does to avoid CMake crashing on repeated attempts to configure it. Fixes #16423.
* | | Merge topic 'src-COMPILE_FLAGS-genex'Brad King2016-11-011-1/+6
|\ \ \ | | |/ | |/| | | | | | | | | | 9a58517d Tests: Add case for Xcode per-config per-source COMPILE_FLAGS diagnostic 1e4bb358 Add generator expression support to per-source COMPILE_FLAGS
| * | Add generator expression support to per-source COMPILE_FLAGSZsolt Parragi2016-10-281-1/+6
| | | | | | | | | | | | | | | | | | 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.
* | | Avoid some copiesDaniel Pfeifer2016-10-301-3/+3
|/ /
* | Merge topic 'cmake-server-handshake-improvements'Brad King2016-10-281-63/+97
|\ \ | |/ | | | | | | | | 42ccbee1 server-mode: Handle generator toolset and platform in handshake d792491c cmake-server: Better error reporting during handshake
| * server-mode: Handle generator toolset and platform in handshakeTobias Hunger2016-10-281-1/+30
| |
| * cmake-server: Better error reporting during handshakeTobias Hunger2016-10-271-64/+69
| | | | | | | | | | | | | | 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.
* | Merge topic 'clang-tidy'Brad King2016-10-201-8/+14
|\ \ | | | | | | | | | | | | | | | effa6c83 fix more issues reported by clang-tidy fb461cac silence selected clang-tidy violations
| * | fix more issues reported by clang-tidyDaniel Pfeifer2016-10-201-8/+14
| | |
* | | cmState: Move TargetType enum to separate namespaceStephen Kelly2016-10-191-1/+1
| | |
* | | cmServerProtocol: Remove unused headerStephen Kelly2016-10-181-1/+0
|/ /
* | cmLinkLineComputer: Move FrameworkPath computation from cmLocalGeneratorStephen Kelly2016-10-101-1/+1
| | | | | | | | Add UseWatcomQuote state, and remove corresponding method parameters.
* | cmLinkLineComputer: Move ComputeLinkLibs from cmLocalGeneratorStephen Kelly2016-10-101-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | cmLinkLineComputer: Extract from cmLocalGeneratorStephen Kelly2016-10-101-2/+7
|/ | | | | | | | | | | 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.
* server-mode: Watch CMakeLists.txt filesTobias Hunger2016-09-291-0/+34
| | | | Watch CMakeLists.txt files (and similar) from the Server
* server-mode: Report watched files to clientTobias Hunger2016-09-291-0/+22
| | | | * Add a command to report watched files and directories to clients.
* server-mode: Add infrastructure to watch the filesystemTobias Hunger2016-09-291-0/+8
| | | | | | | 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/+64
| | | | | 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-2/+97
| | | | Add a command to retrieve files that are input to cmake itself.
* server-mode: Report information relevant for a codemodelTobias Hunger2016-09-281-0/+386
| | | | | 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/+23
|
* server-mode: Add a configure commandTobias Hunger2016-09-261-0/+89
| | | | | | | 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.