summaryrefslogtreecommitdiffstats
path: root/Source/cmCMakeLanguageCommand.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Trace: include `line_end` field in json-v1 formatBraulio Valdivielso Martinez2022-02-091-1/+2
| | | | | | | | | | | | | | | | | | | | After !6954 got merged, it has become easier for tools to get full stack-traces for runtime traces of a CMake program. The trace information already included in the JSON objects (line number, source file path) allows tools that display these stack traces to print the CMake source code associated to them. However, CMake commands may spawn multiple lines, and the JSON information associated to a trace only contains the line in which the command started, but not the one in which it ended. If tools want to print stack traces along the relevant source code, and they want to print the whole command associated to the stack frame, they will have to implement their own CMake language parser to know where the command ends. In order to simplify the life of those who want to write tooling for CMake, this commit adds a `line_end` field to the json-v1 trace format. If a given command spans multiple lines, the `line_end` field will contain the line of the last line spanned by the command (that of the closing parenthesis associated to the command).
* cmListFileCache: Make cmListFileFunction a shared pointerOleksandr Koval2020-10-011-8/+4
| | | | | Passing cmListFileFunction everywhere by-value involves big overhead. Now cmListFileFunction stores std::shared_ptr to the underlying data.
* cmake_language: Add signature to DEFER calls to later timesBrad King2020-09-291-2/+218
| | | | Fixes: #19575
* cmake_language: Make all errors fatalBrad King2020-09-291-17/+19
|
* cmake_language(CALL): Accept empty ${var} expansionsBrad King2020-09-291-63/+65
| | | | | Factor out an internal helper. Generalize partial argument expansion and call the helper on a clean boundary between raw arguments.
* cmake_language(EVAL): Factor out internal helperBrad King2020-09-291-24/+32
|
* cmMakefile: Inline GetExecutionContext at call sitesBrad King2020-09-281-1/+1
| | | | | The method only had one line, and its implementation is more clear at the call sites than the method name.
* cmake_language: check CALL with control commandMarc Chevrier2020-05-261-0/+26
| | | | Fixes: #20739
* cmake_language: Rename command from cmake_commandBrad King2020-05-211-0/+111
Also rename the `INVOKE` signature to `CALL`. Fixes: #20732