summaryrefslogtreecommitdiffstats
path: root/Source/cmExportInstallFileGenerator.cxx
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2023-01-25 02:42:47 (GMT)
committerBen Boeckel <ben.boeckel@kitware.com>2023-08-17 18:42:53 (GMT)
commit249cd3efad6967ec3195b7e24d031eecfc42eba7 (patch)
treecbfe8883d172f004700224dcbd18162700236da2 /Source/cmExportInstallFileGenerator.cxx
parent1690e451f7a640fbdd7bc693ea8010ebc52639bc (diff)
downloadCMake-249cd3efad6967ec3195b7e24d031eecfc42eba7.zip
CMake-249cd3efad6967ec3195b7e24d031eecfc42eba7.tar.gz
CMake-249cd3efad6967ec3195b7e24d031eecfc42eba7.tar.bz2
cmExportFileGenerator: export private compile info for C++ modules
When consuming exported targets which contain C++ modules, the consuming project must be able to recompile BMI files using the original target's flags. This is because a module source may use some private target usage requirement but not want to propagate it to consumers. To facilitate this, export the private information as necessary for consumers to be able to perform the BMI compilations.
Diffstat (limited to 'Source/cmExportInstallFileGenerator.cxx')
-rw-r--r--Source/cmExportInstallFileGenerator.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/cmExportInstallFileGenerator.cxx b/Source/cmExportInstallFileGenerator.cxx
index 6cf3a09..908bb31 100644
--- a/Source/cmExportInstallFileGenerator.cxx
+++ b/Source/cmExportInstallFileGenerator.cxx
@@ -126,6 +126,13 @@ bool cmExportInstallFileGenerator::GenerateMainFile(std::ostream& os)
gt, cmGeneratorExpression::InstallInterface, properties);
std::string errorMessage;
+ if (!this->PopulateCxxModuleExportProperties(
+ gt, properties, cmGeneratorExpression::InstallInterface,
+ errorMessage)) {
+ cmSystemTools::Error(errorMessage);
+ return false;
+ }
+
if (!this->PopulateExportProperties(gt, properties, errorMessage)) {
cmSystemTools::Error(errorMessage);
return false;