summaryrefslogtreecommitdiffstats
path: root/Source/cmState.h
Commit message (Collapse)AuthorAgeFilesLines
* cmState: Move PolicyState from cmMakefile.Stephen Kelly2015-08-021-0/+10
| | | | | Implement lexical scope checking in terms of the state stack instead of barriers.
* cmState: Add Type for policy scope.Stephen Kelly2015-08-021-1/+3
|
* cmState: Add Snapshot Type accessor.Stephen Kelly2015-08-011-0/+1
|
* cmState: Host buildsystem properties for directories.Stephen Kelly2015-07-251-0/+29
|
* cmState: Fix compilation on IBM XL compilerBrad King2015-07-251-1/+2
| | | | | Delay use of the PositionType constructor until after SnapshotDataType is fully defined.
* cmState: Extract a Directory class.Stephen Kelly2015-07-181-18/+34
| | | | | Move Directory-scoped state accessors to it. This will be expanded with directory property state soon.
* cmState: Forward-declare a type earlier.Stephen Kelly2015-07-181-1/+1
|
* cmState: Store execution context.Stephen Kelly2015-07-051-5/+27
| | | | | Extend snapshot creation API to store the file being executed and the entry point to get to that context.
* cmState: Add GetCallStackParent method.Stephen Kelly2015-07-051-0/+1
|
* cmState: Store snapshots for more different types.Stephen Kelly2015-07-041-2/+12
| | | | Adjust cmMakefile implementation to create the snapshots.
* cmake: Update the current snapshot when Resetting.Stephen Kelly2015-06-211-1/+1
| | | | This will matter when definitions are stored in the cmState.
* cmOutputConverter: Constify API.Stephen Kelly2015-06-211-2/+4
|
* Merge topic 'data-layout'Brad King2015-06-081-4/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8174e5cd cmCustomCommand: Remove special member functions. 34e1d6db cmCustomCommand: Re-arrange data layout. 54cb76f2 cmComputeLinkDepends: Re-arrange data layout. b661d6c6 cmQtAutoGenerators: Re-arrange data layout. 40844a14 cmProcessTools: Re-arrange data layout. b1ff32af cmOrderDirectories: Re-arrange data layout. dd0417c7 cmInstallTargetGenerator: Re-arrange data layout. 125c4866 cmInstallFilesGenerator: Re-arrange data layout. 92b8b1fc cmGraphVizWriter: Re-arrange data layout. 7f3e1623 cmGlobalGenerator: Re-arrange data layout. d9df7fa7 cmComputeComponentGraph: Re-arrange data layout. db24e41b cmCommandArgumentParserHelper: Re-arrange data. 4cd13e80 cmComputeLinkInformation: Re-arrange data layout. 3e087a40 cmLocalUnixMakefileGenerator: Re-arrange data layout. e0421701 cmMakefile: Re-arrange data layout. c26696eb cmSourceFile: Re-arrange data. ...
| * Constify property definition API.Stephen Kelly2015-06-071-4/+6
| |
* | Merge topic 'extract-cmOutputConverter'Brad King2015-06-081-0/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 59e21ffa Port static calls from cmLocalGenerator to cmOutputConverter. 242dcc2c cmListFileBacktrace: Replace local generator with cmState::Snapshot. 1cff330b cmTarget: Port to cmOutputConverter. 2f1bd62b cmCustomCommandGenerator: Port to cmOutputConverter. 0f2a1324 cmCommandArgumentParserHelper: Port to cmOutputConverter. 4d8b79ad cmComputeLinkInformation: Port to cmOutputConverter. 8680520f cmMakefile: Make the cmState::Snapshot accessible. 6d7abb63 cmOutputConverter: Extract from cmLocalGenerator. a8244157 cmState::Snapshot: Provide accessor for the cmState. 1f4ef396 cmLocalGenerator: Remove some commented lines of code.
| * | cmState::Snapshot: Provide accessor for the cmState.Stephen Kelly2015-06-041-0/+2
| |/
* | cmState: Extract a cmLinkedTree container adaptor.Stephen Kelly2015-06-041-4/+5
| | | | | | | | | | | | | | | | This will be used to contain most of the content of the cmState in several different trees. Refer to the BuildsystemDirectory state from the SnapshotData state. Currently these trees have the same structure, but that will change when we have more snapshot types.
* | cmState: Group BuildsystemDirectory state together in a struct.Stephen Kelly2015-06-041-12/+4
| | | | | | | | It needs to be snapshotted independently of other state.
* | cmState: Extend Snapshot concept with a SnapshotType.Stephen Kelly2015-06-041-1/+7
|/ | | | Store it together with the Parent position.
* cmState: Rename GetParent method.Stephen Kelly2015-06-021-1/+1
| | | | Leave the namespace open for other Parent types.
* cmState: Rename CreateSnapshot method.Stephen Kelly2015-06-021-1/+1
| | | | Leave the namespace open for other snapshot types.
* cmState: Add CreateBaseSnapshot method.Stephen Kelly2015-06-021-0/+1
|
* 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.