summaryrefslogtreecommitdiffstats
path: root/Source/cmDefinitions.h
Commit message (Collapse)AuthorAgeFilesLines
* cmDefinitions: Use a hashmap for faster checksBen Boeckel2014-06-091-0/+7
| | | | | The hash map is much faster at checking that the map won't have what we're looking for so that we can just go to the parent scope instead.
* cmDefinitions: Don't store parent lookupsBen Boeckel2014-06-091-4/+6
| | | | | When looking up scopes, it is faster to not store the lookup locally to keep the maps smaller and avoid extra allocations and rebalancing.
* stringapi: Add string overload for the Def structBen Boeckel2014-03-081-0/+1
|
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-10/+13
| | | | | | | | | | | 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.
* stringapi: Use strings for variable namesBen Boeckel2014-03-081-4/+4
| | | | Variable names are always generated by CMake and should never be NULL.
* Add method to get the local scope variablesBen Boeckel2010-09-011-0/+3
|
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | 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.
* ENH: Improve dynamic variable scope implementationBrad King2009-07-221-0/+88
Previously each new variable scope (subdirectory or function call) in the CMake language created a complete copy of the key->value definition map. This avoids the copy using transitive lookups up the scope stack. Results of queries answered by parents are stored locally to maintain locality of reference. The class cmDefinitions replaces cmMakefile::DefinitionsMap, and is aware of its enclosing scope. Each scope stores only the definitions set (or unset!) inside it relative to the enclosing scope.