summaryrefslogtreecommitdiffstats
path: root/Source/cmState.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'fix-buildsystem-property-append'Brad King2015-09-141-2/+7
|\ | | | | | | | | | | | | | | ed258d60 Tests: Cover set_property for buildsystem directory properties fb45c371 cmState: Only append non-empty values to buildsystem properties. 158f7e31 cmMakefile: Use appropriate parameter name. 08ce3f48 cmTarget: Only append non-empty values to buildsystem properties.
| * cmState: Only append non-empty values to buildsystem properties.Stephen Kelly2015-09-111-0/+5
| | | | | | | | | | | | This is a change in behavior from CMake 3.3, but there is no semantic meaning to empty entries in buildsystem properties. This also restores behavior to that of CMake 2.8.10.
| * cmMakefile: Use appropriate parameter name.Stephen Kelly2015-09-111-2/+2
| |
* | cmState: Return end snapshot for GetBuildsystemDirectoryParent.Stephen Kelly2015-09-111-1/+2
|/ | | | | | | This is the appropriate snapshot for future use. Existing users of this method are mostly just calling GetDirectory on the result, but the progress tracking of the Makefile generator needs a consistent snapshot to be used, so the end snapshot should be consistently used.
* Merge topic 'cmState-ProjectName'Brad King2015-08-271-0/+12
|\ | | | | | | | | | | | | | | 637c56b4 cmGlobalGenerator: Implement FillProjectMap in terms of cmState. b3f2299e cmState: Move ProjectName from cmMakefile. 6ce940ac cmMakefile: Use std::string in ProjectName API. e8c0341d cmMakefile: Out-of-line GetProjectName.
| * cmState: Move ProjectName from cmMakefile.Stephen Kelly2015-08-251-0/+12
| |
* | Merge topic 'rm-cmLocalGenerator-Children'Brad King2015-08-271-1/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 867b5be8 cmLocalGenerator: Remove unused Children member. 6c832219 cmLocalGenerator: Implement child traversal in terms of cmState. 3fcf3837 Makefiles: Remove valueless cast. 223f4a66 cmLocalGenerator: Simplify condition. ae026f54 cmState: Store Children states in parent state.
| * | cmState: Store Children states in parent state.Stephen Kelly2015-08-241-1/+11
| |/
* | cmState: Make Snapshot EqualityComparable.Stephen Kelly2015-08-241-0/+10
|/
* cmState: Move directory Properties from cmMakefile.Stephen Kelly2015-08-241-0/+163
|
* Merge topic 'cmState-definitions'Brad King2015-08-241-2/+124
|\ | | | | | | | | | | | | | | | | | | bff27391 cmState: Host variable definitions. 6954c893 cmState: Add a VariableScope snapshot type. 1fc645bd cmState: Add a Base snapshot type. 0f070dd3 cmMakefile: Decouple the container of cmDefinitions from scoping logic. 25e04ddf cmDefinitions: Implement in terms of cmLinkedTree. 4bbe261c cmMakefile: Extract InitializeVarScope method.
| * cmState: Host variable definitions.Stephen Kelly2015-08-231-0/+102
| |
| * cmState: Add a VariableScope snapshot type.Stephen Kelly2015-08-231-0/+19
| | | | | | | | Match the scopes currently used in cmMakefile for definitions.
| * cmState: Add a Base snapshot type.Stephen Kelly2015-08-231-2/+3
| | | | | | | | For completeness mostly.
* | Merge topic 'refactor-progress'Brad King2015-08-241-0/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 3fa1b964 cmGlobalUnixMakefileGenerator3: Change the progress container key. 55e39276 cmState: Make it possible to order cmState::Snapshot. 04168cbb cmGlobalUnixMakefileGenerator3: Rename member. 2394584c cmGlobalGenerator: Rename progress initializer method. b9eb3cd1 cmGlobalGenerator: Move LG to target map to subclass. f5d2b7a6 cmGlobalGenerator: Remove clearance of map.
| * | cmState: Make it possible to order cmState::Snapshot.Stephen Kelly2015-08-231-0/+6
| |/
* | include_directories: Fix regression in BEFORE option (#15693)Brad King2015-08-211-6/+5
|/ | | | | | Refactoring in commit 6ed9c7e0 (cmState: Host buildsystem properties for directories, 2015-07-18) broke include_directories(BEFORE). Fix it and add a test case.
* cmState: Move PolicyState from cmMakefile.Stephen Kelly2015-08-021-0/+116
| | | | | Implement lexical scope checking in terms of the state stack instead of barriers.
* cmState: Record the end position of each directory.Stephen Kelly2015-08-021-2/+14
| | | | | At generate time, variables and policies are determined from the end state of the cmMakefile.
* cmState: Add Type for policy scope.Stephen Kelly2015-08-021-2/+20
|
* cmState: Remove call stack parent tracking.Stephen Kelly2015-08-011-11/+1
| | | | | | This was added at a time when I thought the cmState would report errors, but that is not the direction it is going. The ordering of the stack of scopes is canonical and clients are required to maintain it.
* cmState: Add Snapshot Type accessor.Stephen Kelly2015-08-011-0/+5
|
* cmState: Host buildsystem properties for directories.Stephen Kelly2015-07-251-1/+305
|
* cmState: Fix compilation on IBM XL compilerBrad King2015-07-251-0/+6
| | | | | Delay use of the PositionType constructor until after SnapshotDataType is fully defined.
* Merge topic 'cmState-Directory'Brad King2015-07-211-36/+46
|\ | | | | | | | | | | 9ebc7502 cmState: Extract a Directory class. 27ec21db cmState: Forward-declare a type earlier.
| * cmState: Extract a Directory class.Stephen Kelly2015-07-181-36/+46
| | | | | | | | | | Move Directory-scoped state accessors to it. This will be expanded with directory property state soon.
* | cmState: Remove unused variable.Stephen Kelly2015-07-181-2/+0
|/
* Merge topic 'fix-command-rename'Brad King2015-07-131-0/+11
|\ | | | | | | | | d4f032b5 cmState: Restore renamed commands on cleanup.
| * cmState: Restore renamed commands on cleanup.Stephen Kelly2015-07-121-0/+11
| | | | | | | | | | | | | | | | | | | | | | Commit v3.3.0-rc1~196^2~7 (cmake: Simplify command clean up loop., 2015-04-12) introduced a bug that built-in commands which were renamed no longer had their original name restored when cleanup is performed between configure runs. Check for that and restore the commands with their original name. Extend the complex test for this. That test is run by ctest with the --build-two-config command line option.
* | cmState: Store execution context.Stephen Kelly2015-07-051-5/+66
| | | | | | | | | | 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/+22
| |
* | cmState: Store snapshots for more different types.Stephen Kelly2015-07-041-0/+55
| | | | | | | | Adjust cmMakefile implementation to create the snapshots.
* | cmake: Update the current snapshot when Resetting.Stephen Kelly2015-06-211-2/+4
| | | | | | | | This will matter when definitions are stored in the cmState.
* | cmOutputConverter: Constify API.Stephen Kelly2015-06-211-2/+2
| |
* | Merge topic 'data-layout'Brad King2015-06-081-13/+24
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ...
| * | cmPropertyMap: Remove chaining logic.Stephen Kelly2015-06-071-3/+1
| | | | | | | | | | | | | | | | | | | | | The chaining logic doesn't belong to the container, and the CMakeInstance pointer doesn't need to be in cmPropertyMap. Size goes from 56 to 48 bytes with GNU libstdc++-5.1.
| * | cmPropertyMap: Remove scope parameter from API where not used.Stephen Kelly2015-06-071-3/+2
| | |
| * | Constify property definition API.Stephen Kelly2015-06-071-7/+21
| | |
* | | Merge topic 'extract-cmOutputConverter'Brad King2015-06-081-0/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+5
| |/ /
* | | cmState: Extract a cmLinkedTree container adaptor.Stephen Kelly2015-06-041-71/+41
| | | | | | | | | | | | | | | | | | | | | | | | 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-62/+77
| | | | | | | | | | | | It needs to be snapshotted independently of other state.
* | | cmState: Extend Snapshot concept with a SnapshotType.Stephen Kelly2015-06-041-7/+20
|/ / | | | | | | Store it together with the Parent position.
* | 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
|