summaryrefslogtreecommitdiffstats
path: root/Source/cmExportFileGenerator.h
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2024-01-18 18:19:17 (GMT)
committerBrad King <brad.king@kitware.com>2024-01-18 22:40:44 (GMT)
commitd791f3a180c7231bc2b45c9204c0a912c06b91ee (patch)
treeb603806f141162f94b2137a00c6da40a714a9674 /Source/cmExportFileGenerator.h
parent2352dcc830ca4be6ccf05f801241b158ac79e7d7 (diff)
downloadCMake-d791f3a180c7231bc2b45c9204c0a912c06b91ee.zip
CMake-d791f3a180c7231bc2b45c9204c0a912c06b91ee.tar.gz
CMake-d791f3a180c7231bc2b45c9204c0a912c06b91ee.tar.bz2
cxxmodules: make export trampoline script files unique
Include the name of the `EXPORT` in the filename when generating export information for C++ modules. This allows the same directory to be used for multiple sets of C++ module-using targets. For `export(TARGETS)` uses, generate a name based on the hash of the concatenation of the target names involved with the `export()` call. Fixes: #25609
Diffstat (limited to 'Source/cmExportFileGenerator.h')
-rw-r--r--Source/cmExportFileGenerator.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/cmExportFileGenerator.h b/Source/cmExportFileGenerator.h
index f396e0e..30333d3 100644
--- a/Source/cmExportFileGenerator.h
+++ b/Source/cmExportFileGenerator.h
@@ -187,7 +187,7 @@ protected:
void GenerateTargetFileSets(cmGeneratorTarget* gte, std::ostream& os,
cmTargetExport* te = nullptr);
- void GenerateCxxModuleInformation(std::ostream& os);
+ void GenerateCxxModuleInformation(std::string const& name, std::ostream& os);
virtual std::string GetFileSetDirectories(cmGeneratorTarget* gte,
cmFileSet* fileSet,
@@ -235,5 +235,6 @@ private:
const std::string& config) = 0;
virtual std::string GetCxxModulesDirectory() const = 0;
- virtual void GenerateCxxModuleConfigInformation(std::ostream& os) const = 0;
+ virtual void GenerateCxxModuleConfigInformation(std::string const&,
+ std::ostream& os) const = 0;
};