summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-03-08 20:54:40 (GMT)
committerBrad King <brad.king@kitware.com>2017-03-09 21:24:27 (GMT)
commit1e0a9ac45d51e0076222026b9c44604b287a6eae (patch)
treea4e19e5ace29e72b0f5df4bd5fe9e6f06efc1c96 /Source/cmGeneratorTarget.cxx
parent0a312e2271710554f8e73518dc4b28bd1d0d1d7a (diff)
downloadCMake-1e0a9ac45d51e0076222026b9c44604b287a6eae.zip
CMake-1e0a9ac45d51e0076222026b9c44604b287a6eae.tar.gz
CMake-1e0a9ac45d51e0076222026b9c44604b287a6eae.tar.bz2
Refactor module definition source enumeration
Add a `cmGeneratorTarget::GetModuleDefinitionSources` method.
Diffstat (limited to 'Source/cmGeneratorTarget.cxx')
-rw-r--r--Source/cmGeneratorTarget.cxx15
1 files changed, 10 insertions, 5 deletions
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 47d685d..39336b2 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -112,7 +112,7 @@ struct IDLSourcesTag
struct ResxTag
{
};
-struct ModuleDefinitionFileTag
+struct ModuleDefinitionSourcesTag
{
};
struct AppManifestTag
@@ -236,8 +236,8 @@ struct TagVisitor
} else if (!sf->GetLanguage().empty()) {
DoAccept<IsSameTag<Tag, ObjectSourcesTag>::Result>::Do(this->Data, sf);
} else if (ext == "def") {
- DoAccept<IsSameTag<Tag, ModuleDefinitionFileTag>::Result>::Do(this->Data,
- sf);
+ DoAccept<IsSameTag<Tag, ModuleDefinitionSourcesTag>::Result>::Do(
+ this->Data, sf);
if (this->IsObjLib) {
this->BadObjLibFiles.push_back(sf);
}
@@ -681,6 +681,12 @@ bool cmGeneratorTarget::HasExplicitObjectName(cmSourceFile const* file) const
return it != this->ExplicitObjectName.end();
}
+void cmGeneratorTarget::GetModuleDefinitionSources(
+ std::vector<cmSourceFile const*>& data, const std::string& config) const
+{
+ IMPLEMENT_VISIT(ModuleDefinitionSources);
+}
+
void cmGeneratorTarget::GetIDLSources(std::vector<cmSourceFile const*>& data,
const std::string& config) const
{
@@ -1942,8 +1948,7 @@ cmSourceFile const* cmGeneratorTarget::GetModuleDefinitionFile(
const std::string& config) const
{
std::vector<cmSourceFile const*> data;
- IMPLEMENT_VISIT_IMPL(ModuleDefinitionFile,
- COMMA std::vector<cmSourceFile const*>)
+ this->GetModuleDefinitionSources(data, config);
if (!data.empty()) {
return data.front();
}