summaryrefslogtreecommitdiffstats
path: root/Source/cmState.h
Commit message (Collapse)AuthorAgeFilesLines
* cmState: Host some state from the cmGlobalGenerator.Stephen Kelly2015-05-271-0/+19
|
* cmState: Move snapshot creation to the cmake instance.Stephen Kelly2015-05-241-1/+1
| | | | | | | | | | | | | | | | Don't create a snapshot in Initialize(), but leave the creation responsibility to the cmake instance instead. Previously, the cmState would Initialize() in its constructor, and the cmake instance would re-Initialize() during Configure(). The end result was the same and there would be one snapshot present. However, cmLocalGenerator also created a snapshot on construction, and that one was used, leaving the first snapshot unused, and potential for off-by-one errors. Fix that by making the cmLocalGenerator use the existing snapshot if it is top-level. Add a CurrentSnapshot to the cmake instance and populated it while configuring a directory. This will eventually replace the 'current local generator' concept. Fix the GetParent implementation to be able to return the first snapshot.
* cmState: Store computed relative paths to to current directories.Stephen Kelly2015-05-161-0/+16
|
* cmState::Snapshot: Store components for current directories.Stephen Kelly2015-05-161-0/+6
| | | | Remove this responsibility from cmLocalGenerator.
* cmState: Compute and store directory components.Stephen Kelly2015-05-161-0/+6
| | | | | | | | | | | | | There is no need to duplicate these in all cmLocalGenerators. Rename the symbols according to current conventions. Add explicit calls to Set{Source,Binary}Directory with empty strings in order to trigger the population of the components containers with the current working directory in cmLocalGenerator. Having directories set to empty is a special case in CMake, which is relied on for the `if(CMAKE_BINARY_DIR)` condition at the end of CMakeDetermineSystem.cmake.
* cmState: Add an accessor for Parent snapshot and a validity check.Stephen Kelly2015-05-141-0/+3
|
* Merge topic 'fix-cmState-try_compile-languages'Brad King2015-05-011-0/+1
|\ | | | | | | | | 27343e3b cmGlobalGenerator: Finish storing enabled languages in cmState
| * cmGlobalGenerator: Finish storing enabled languages in cmStateBrad King2015-04-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | In commit 74de9a73 (cmGlobalGenerator: Delegate storage of enabled languages to cmState, 2015-04-11) the original LanguageEnabled member of cmGlobalGenerator was left behind by mistake. One use of it in EnableLanguagesFromGenerator (for try_compile) was left, but the member is not populated anymore. Drop the member and teach EnableLanguagesFromGenerator to copy the list of enabled languages from one cmState to the other. Reported-by: Matt McCormick <matt.mccormick@kitware.com>
* | cmState: Store the Current directories.Stephen Kelly2015-04-281-0/+7
| |
* | Introduce cmState::Snapshot.Stephen Kelly2015-04-281-0/+15
| | | | | | | | | | | | | | Create snapshots for buildsystem directories during configure time. This class will be extended in follow up commits to snapshot all values in the cmState.
* | cmState: Store the Source and Binary directories.Stephen Kelly2015-04-281-0/+7
|/
* Move global properties to cmState.Stephen Kelly2015-04-151-0/+8
|
* cmState: Move cmCommand-related methods from cmake class.Stephen Kelly2015-04-131-0/+10
|
* cmState: Move try_compile state from cmake class.Stephen Kelly2015-04-131-0/+4
|
* cmGlobalGenerator: Delegate storage of enabled languages to cmState.Stephen Kelly2015-04-131-1/+5
|
* Move property definition to cmState.Stephen Kelly2015-04-131-0/+19
|
* cmState: Move CacheEntryType enum from cmCacheManager.Stephen Kelly2015-04-131-7/+7
|
* Introduce cmState class.Stephen Kelly2015-04-131-0/+62
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.