summaryrefslogtreecommitdiffstats
path: root/Source/cmState.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmState::Snapshot: Provide accessor for the cmState.Stephen Kelly2015-06-041-0/+5
|
* cmState: Rename GetParent method.Stephen Kelly2015-06-021-3/+3
| | | | Leave the namespace open for other Parent types.
* cmState: Rename CreateSnapshot method.Stephen Kelly2015-06-021-1/+2
| | | | Leave the namespace open for other snapshot types.
* cmState: Add CreateBaseSnapshot method.Stephen Kelly2015-06-021-4/+14
|
* cmLocalGenerator: Require a valid cmState::Snapshot in the ctor.Stephen Kelly2015-05-271-0/+4
| | | | | | | | | | | Refactor the local generator creation API to accept a cmState::Snapshot. Adjust MakeLocalGenerator to use the 'current' snapshot in cases where there is no parent. Create the snapshot for subdirectories in cmMakefile::AddSubdirectory. This means that snapshots are now created at the point of extending the tree, as appropriate, and independently of the cmLocalGenerator and cmMakefile they represent the state for.
* cmState: Host some state from the cmGlobalGenerator.Stephen Kelly2015-05-271-1/+67
|
* cmState: Move snapshot creation to the cmake instance.Stephen Kelly2015-05-241-16/+29
| | | | | | | | | | | | | | | | 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/+106
|
* cmState::Snapshot: Store components for current directories.Stephen Kelly2015-05-161-0/+26
| | | | Remove this responsibility from cmLocalGenerator.
* cmState: Compute and store directory components.Stephen Kelly2015-05-161-0/+18
| | | | | | | | | | | | | 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/+21
|
* cmState: Truncate snapshot data in Initialize.Stephen Kelly2015-05-031-2/+5
| | | | | | | | When Configure is executed multiple times with the same cmake instance (either using CTest --two-config or a interactive gui), the location and structural data was preserved though it would not be used again. Fix that by clearing the data in a method called early in the configure step.
* Merge topic 'fix-cmState-try_compile-languages'Brad King2015-05-011-0/+5
|\ | | | | | | | | 27343e3b cmGlobalGenerator: Finish storing enabled languages in cmState
| * cmGlobalGenerator: Finish storing enabled languages in cmStateBrad King2015-04-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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/+33
| |
* | 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/+22
|/
* Move property initialization to cmState.Stephen Kelly2015-04-151-0/+1
|
* Move global properties to cmState.Stephen Kelly2015-04-151-0/+59
|
* cmState: Move cmCommand-related methods from cmake class.Stephen Kelly2015-04-131-0/+110
|
* cmState: Move try_compile state from cmake class.Stephen Kelly2015-04-131-1/+12
|
* cmGlobalGenerator: Delegate storage of enabled languages to cmState.Stephen Kelly2015-04-131-0/+27
|
* Move property definition to cmState.Stephen Kelly2015-04-131-0/+58
|
* cmState: Move CacheEntryType enum from cmCacheManager.Stephen Kelly2015-04-131-9/+42
|
* Introduce cmState class.Stephen Kelly2015-04-131-0/+147
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.