| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
Update comment.
|
| |
|
|
|
|
| |
Remove unneeded friend declarations from cmCacheManager.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At this point, it is an interface to the cache. It will be extended
to be a universal interface for access to and manipulation of
configuration-time data (defintions, properties on targets,
directories, source files etc).
This will allow porting all command implementations away
from the cmMakefile and cmTarget classes, and result in something
more-purely related to configuration-time processing of cmake
commands. That should serve at least the following goals:
* Split the CMake implementation more definitively into three
stages: Configuration, computation and generation, and be able to
implement each optimally for memory access patterns etc.
* Make better IDE integration possible by making more configuration
data available.
* Make it possiblte to use a smaller library than CMakeLib.a in
cpack and ctest, resulting in smaller executables.
* Make it possible to run the configure step multiple times in
the same CMake run (#14539).
Manage its lifetime in the cmake class, and add a convenience accessor
to cmMakefile.
|
|
|
|
|
|
| |
The iterator pattern is an unusual one for CMake, and it hinders
refactoring all configuration-time data manipulation into a
single class.
|
|
|
|
|
|
|
| |
This is for consistency with other CMake access interfaces such as
definitions and properties which use a null value as a 'not present'
value. It is source compatible with existing callers, and it returns
a pointer into actual real cache entry storage.
|
|
|
|
|
| |
Being initialized is a requirement for this method to return something,
and is what differentiates it from using GetIterator with it.GetValue.
|
|
|
|
|
|
| |
This topic was never tested without some follow-up commits. The
GetCacheEntryValue API returns a pointer to memory freed on return.
It will have to be revised along with the rest of the original topic.
|
|
|
|
|
|
| |
The iterator pattern is an unusual one for CMake, and it hinders
refactoring all configuration-time data manipulation into a
single class.
|
|
|
|
|
| |
Being initialized is a requirement for this method to return something,
and is what differentiates it from using GetIterator with it.GetValue.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Casts from std::string -> cmStdString were high on the list of things
taking up time. Avoid such implicit casts across function calls by just
using std::string everywhere.
The comment that the symbol name is too long is no longer relevant since
modern debuggers alias the templates anyways and the size is a
non-issue since the underlying methods are generated since it's
inherited.
|
| |
|
|
|
|
| |
Variable names are always generated by CMake and should never be NULL.
|
|
|
|
| |
Property names are always generated by CMake and should never be NULL.
|
| |
|
|
|
|
|
| |
Tell users to pass cache values with the -D option on the command line
or use cmake-gui or ccmake.
|
|
|
|
|
|
| |
Drop all DefineProperty calls for non-chained properties. Drop the
documentation from the chained ones. The documentation for all
properties is now in Help/prop_*/*.rst files.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/ \+$//'
|
|
|
|
|
|
|
|
|
| |
set_property() has APPEND, which creates a list. E.g. when
appending to COMPILE_FLAGS a string is needed, not a list.
With the APPEND_STRING option the value is append as string,
not as list.
Alex
|
|
|
|
|
| |
If a cache line is being parsed, it shouldn't matter whether it has a
type or not; just parse it however possible.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
The commit "Remove barely-used cmMakefile::AddCacheDefinition" removed
all but one use of the cmCacheManager method 'bool' overload. This
commit removes the other use and the entire method, thus reducing code
duplication.
|
|
|
|
|
| |
All cmPropertyMap instances must have CMakeInstance set. This teaches
cmCacheManager to set it on cache entries.
|
|
|
|
|
|
| |
This factors out duplicated code into reusable methods, thus simplifying
writing and reading of cache entry help strings, keys, values, and
properties.
|
|
|
|
|
| |
This adds a property documentation section for CACHE properties.
We document the ADVANCED, HELPSTRING, TYPE, and VALUE properties.
|
|
|
|
|
|
|
|
| |
This adds the CACHE option to set_property and get_property commands.
This allows full control over cache entry information, so advanced users
can tweak their project cache as desired. The set_property command
allows only pre-defined CACHE properties to be set since others would
not persist anyway.
|
|
|
|
|
| |
This re-implements cache entry property storage in cmCacheManager to use
cmPropertyMap so it can share the standard property implementation.
|
|
|
|
| |
CMAKE_BACKWARDS_COMPATIBILITY and CMAKE_MINIMUM_REQUIRED
|
| |
|
|
|
|
| |
cmCacheManager. This will allow commands to modify their behavior when running with a cache loaded from an earlier CMake version.
|
|
|
|
| |
cmMakefile implementation of AddCacheDefinition to avoid removing the makefile definition.
|
| |
|
| |
|
|
|
|
| |
CMakefiles/*.cmake
|
|
|
|
| |
cmStdString
|
| |
|
| |
|
| |
|
|
|
|
| |
the type Bug #118 - Specifying cache entries with -D should not need the type
|
| |
|
| |
|
| |
|