summaryrefslogtreecommitdiff
path: root/Source/cmState.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-09-16 16:23:40 -0400
committerBrad King <brad.king@kitware.com>2016-09-19 10:55:18 -0400
commit089868a244e623f75c1ffbe9297d3228bef9a8f1 (patch)
tree57eee8dc5474e454ccdda479504a7e32001abfdc /Source/cmState.cxx
parent5c87b92b1b7888ee032e3c2a75f35f1f94f4dfa5 (diff)
downloadcmake-089868a244e623f75c1ffbe9297d3228bef9a8f1.tar.gz
cmState: Record buildsystem target names in each directory
Maintain in the directory state the list of target names added to be built. These are normal, non-imported targets (but do include INTERFACE libraries).
Diffstat (limited to 'Source/cmState.cxx')
-rw-r--r--Source/cmState.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/cmState.cxx b/Source/cmState.cxx
index ffb104b93a..2ff4516e22 100644
--- a/Source/cmState.cxx
+++ b/Source/cmState.cxx
@@ -94,6 +94,8 @@ struct cmState::BuildsystemDirectoryStateType
std::vector<std::string> CompileOptions;
std::vector<cmListFileBacktrace> CompileOptionsBacktraces;
+ std::vector<std::string> NormalTargetNames;
+
std::string ProjectName;
cmPropertyMap Properties;
@@ -324,6 +326,7 @@ cmState::Snapshot cmState::Reset()
it->CompileOptions.clear();
it->CompileOptionsBacktraces.clear();
it->DirectoryEnd = pos;
+ it->NormalTargetNames.clear();
it->Properties.clear();
it->Children.clear();
}
@@ -1733,6 +1736,11 @@ std::vector<std::string> cmState::Directory::GetPropertyKeys() const
return keys;
}
+void cmState::Directory::AddNormalTargetName(std::string const& name)
+{
+ this->DirectoryState->NormalTargetNames.push_back(name);
+}
+
bool operator==(const cmState::Snapshot& lhs, const cmState::Snapshot& rhs)
{
return lhs.Position == rhs.Position;