| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This code used to convert std::string's to raw C strings only to
put that back into a std::string. This patch thus removes ~70k
temporary allocations when running the CMake daemon on KDevelop.
This hotspot was found with heaptrack.
|
| |
|
| |
|
|
|
|
|
| |
There is no need to store the FilePath for every function, as it is
known by other means.
|
|
|
|
|
| |
Extend snapshot creation API to store the file being executed and the
entry point to get to that context.
|
|
|
|
| |
It is now unused.
|
|
|
|
|
|
|
|
|
| |
The cmListFileArgument currently stores a FilePath for use in this
method. The filename is the same as the CMAKE_CURRENT_LIST_FILE,
except if executing a macro or function defined in another file.
Set the context filename when expanding the arguments of macros and
functions using the filename recorded when defining the prototype.
|
|
|
|
| |
Instead of setting it each time the macro is invoked.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The signature was computed (incorrectly) and stored as the map
value, but never used. Remove it now.
|
|
|
|
|
| |
Avoid copying a string from the source, manipulating it, and then
copying it back. Manipulate it in place instead.
|
| |
|
| |
|
|
|
|
|
| |
There is none for ARGC replacement, so no reason to conditionalize the
replacement. The computation is already done.
|
|
|
|
|
| |
We don't particularly need to reuse the string memory here, and this
pattern is not common in CMake.
|
|
|
|
|
|
| |
It can make sense to declare objects outside of loops if
the size required by the object can grow (eg std::string when
using getline), but that is not the case here.
|
| |
|
|
|
|
|
| |
Avoid computing them from scratch for each argument of each
function.
|
| |
|
|
|
|
|
| |
An empty string is appended if the condition is false, which is
ok for this commit.
|
|
|
|
| |
The conditions are never true.
|
|
|
|
|
| |
Make the initialization by population with the expanded* content
unconditional.
|
|
|
|
|
| |
This means that we compute the strings even if not used in the macro
but this shouldn't be expensive and it simplifies the code.
|
| |
|
| |
|
| |
|
|
|
|
| |
Start iteration at correct starting point directly.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
0f7bdd61 Remove VS 6 special case.
5e92c826 Remove some obsolete stuff.
15e42bb2 cmStandardIncludes: Remove obsolete cmOStringStream.
931e055d Port all cmOStringStream to std::ostringstream.
f194a009 Remove unused cmIStringStream class.
3ec1bb15 cmStandardIncludes: Remove std namespace hack.
bb3bce70 cmStandardIncludes: Remove ANSI_FOR_SCOPE hack.
28fa4923 cmStandardIncludes: Remove iostreams workaround for obsolete Compaq compiler.
837a8a63 cmStandardIncludes: Drop Comeau-related workaround.
4030ddfd Remove Borland-related undef.
17d6a6fd cmStandardIncludes: Remove comment about Borland.
26fb5011 Drop SGI as a CMake host compiler.
|
| |
| |
| |
| | |
All compilers hosting CMake support the std class.
|
|/
|
|
|
|
| |
Limit this change to inserting into a vector from a vector.
A follow up change can use insert for inserting into a set.
|
|
|
|
|
| |
Clang based tools running over the code complain about these,
but clang has a fixit for removing them.
|
|
|
|
|
|
| |
Use the clang RemoveCStrCalls tool to automatically migrate the
code. This was only run on linux, so does not have any positive or
negative effect on other platforms.
|
| |
|
|
|
|
|
| |
Fix the macro command implementation to avoid substituting macro
placeholders in bracket arguments recorded inside the macro block.
|
|
|
|
|
| |
The next commit will make this block conditional so pre-indent it
to clarify the simplicity of the change.
|
|
|
|
|
| |
Drop all GetTerseDocumentation and GetFullDocumentation methods from
commands. The command documentation is now in Help/command/*.rst files.
|
|
|
|
|
|
| |
Replace the boolean value that indicates whether an argument is unquoted
or quoted with a generalized enumeration of possible argument types.
For now "Quoted" and "Unquoted" remain the only types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace. Wipe out all remnants of trailing whitespace
everywhere except third-party code.
Run the following shell code:
git ls-files -z -- \
bootstrap doxygen.config '*.readme' \
'*.c' '*.cmake' '*.cpp' '*.cxx' \
'*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
'*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
|
|
|
|
|
| |
Use const_cast for the special case in cmFindBase where
GetFullDocumentation calls GenerateDocumentation.
|
|
|
|
|
|
|
|
|
|
| |
- Enhance extract doc parser. Seems robust now. The legacy
module documentation parser works as before ignoring
the new markup.
- Proof of concept for CPack (generic), CPack RPM and CPack Deb
generator for macro and variables.
Try cpack --help-command and cpack --help-variables
|
| |
|
|
|
|
|
|
|
| |
This converts the CMake license to a pure 3-clause OSI-approved BSD
License. We drop the previous license clause requiring modified
versions to be plainly marked. We also update the CMake copyright to
cover the full development time range.
|
|
|
|
|
|
|
| |
This teaches functions and macros to use policies recorded at creation
time when they are invoked. It restores the policies as a weak policy
stack entry so that any policies set by a function escape to its caller
as before.
|