summaryrefslogtreecommitdiffstats
path: root/Source/cmExportFileGenerator.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmExportFileGenerator.cxx')
-rw-r--r--Source/cmExportFileGenerator.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx
index 9bd7f49..a7d0d7e 100644
--- a/Source/cmExportFileGenerator.cxx
+++ b/Source/cmExportFileGenerator.cxx
@@ -604,6 +604,25 @@ void cmExportFileGenerator::PopulateCompatibleInterfaceProperties(
}
}
+void cmExportFileGenerator::PopulateCustomTransitiveInterfaceProperties(
+ cmGeneratorTarget const* target,
+ cmGeneratorExpression::PreprocessContext preprocessRule,
+ ImportPropertyMap& properties)
+{
+ this->PopulateInterfaceProperty("TRANSITIVE_COMPILE_PROPERTIES", target,
+ properties);
+ std::set<std::string> ifaceProperties;
+ for (std::string const& config : this->Configurations) {
+ for (auto const& i : target->GetCustomTransitiveProperties(
+ config, cmGeneratorTarget::PropertyFor::Interface)) {
+ ifaceProperties.emplace(i.second.InterfaceName);
+ }
+ }
+ for (std::string const& ip : ifaceProperties) {
+ this->PopulateInterfaceProperty(ip, target, preprocessRule, properties);
+ }
+}
+
void cmExportFileGenerator::GenerateInterfaceProperties(
const cmGeneratorTarget* target, std::ostream& os,
const ImportPropertyMap& properties)