diff options
author | Brad King <brad.king@kitware.com> | 2020-09-21 17:51:35 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-09-29 21:12:33 (GMT) |
commit | e8b0359a4318bb682c96e527de7ed7f5be02c38f (patch) | |
tree | 5ea4137b78124e4619bb4aff1856a04b729f93fd /Source/cmState.cxx | |
parent | 98805494055f8fb4afc2da9f96a487987333981a (diff) | |
download | CMake-e8b0359a4318bb682c96e527de7ed7f5be02c38f.zip CMake-e8b0359a4318bb682c96e527de7ed7f5be02c38f.tar.gz CMake-e8b0359a4318bb682c96e527de7ed7f5be02c38f.tar.bz2 |
cmake_language: Add signature to DEFER calls to later times
Fixes: #19575
Diffstat (limited to 'Source/cmState.cxx')
-rw-r--r-- | Source/cmState.cxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/cmState.cxx b/Source/cmState.cxx index e96c82f..d5ac9ae 100644 --- a/Source/cmState.cxx +++ b/Source/cmState.cxx @@ -837,6 +837,21 @@ cmStateSnapshot cmState::CreateBuildsystemDirectorySnapshot( return snapshot; } +cmStateSnapshot cmState::CreateDeferCallSnapshot( + cmStateSnapshot const& originSnapshot, std::string const& fileName) +{ + cmStateDetail::PositionType pos = + this->SnapshotData.Push(originSnapshot.Position, *originSnapshot.Position); + pos->SnapshotType = cmStateEnums::DeferCallType; + pos->Keep = false; + pos->ExecutionListFile = this->ExecutionListFiles.Push( + originSnapshot.Position->ExecutionListFile, fileName); + assert(originSnapshot.Position->Vars.IsValid()); + pos->BuildSystemDirectory->DirectoryEnd = pos; + pos->PolicyScope = originSnapshot.Position->Policies; + return { this, pos }; +} + cmStateSnapshot cmState::CreateFunctionCallSnapshot( cmStateSnapshot const& originSnapshot, std::string const& fileName) { |