summaryrefslogtreecommitdiffstats
path: root/Source/cmExportBuildFileGenerator.h
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2022-04-18 16:26:49 (GMT)
committerBen Boeckel <ben.boeckel@kitware.com>2022-07-06 14:15:23 (GMT)
commitfe44cbe9e7849b3c555fbb29c83a54414c0e8629 (patch)
treeb766cd660b6b2aa46540ea9c189800e2e8eb5101 /Source/cmExportBuildFileGenerator.h
parent29118091dc323d3b48b58155ac0e30b47ca60fb6 (diff)
downloadCMake-fe44cbe9e7849b3c555fbb29c83a54414c0e8629.zip
CMake-fe44cbe9e7849b3c555fbb29c83a54414c0e8629.tar.gz
CMake-fe44cbe9e7849b3c555fbb29c83a54414c0e8629.tar.bz2
exports: support `CXX_MODULES_DIRECTORY`
This directory will be used to store build-discovered information about targets such as the modules provided by the files in the relevant `FILE_SET` types. A directory is used because basing the name on a `<FILE_NAME>-*.cmake` pattern makes it end up being globbed in the configuration-dependent information mechanism. Since old modules and targets may be around, unconditionally including them may refer to targets that do not actually exist.
Diffstat (limited to 'Source/cmExportBuildFileGenerator.h')
-rw-r--r--Source/cmExportBuildFileGenerator.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/cmExportBuildFileGenerator.h b/Source/cmExportBuildFileGenerator.h
index 5681e8f..5f72046 100644
--- a/Source/cmExportBuildFileGenerator.h
+++ b/Source/cmExportBuildFileGenerator.h
@@ -47,6 +47,16 @@ public:
}
void SetExportSet(cmExportSet*);
+ /** Set the name of the C++ module directory. */
+ void SetCxxModuleDirectory(std::string cxx_module_dir)
+ {
+ this->CxxModulesDirectory = std::move(cxx_module_dir);
+ }
+ const std::string& GetCxxModuleDirectory() const
+ {
+ return this->CxxModulesDirectory;
+ }
+
/** Set whether to append generated code to the output file. */
void SetAppendMode(bool append) { this->AppendMode = append; }
@@ -88,4 +98,6 @@ protected:
cmExportSet* ExportSet;
std::vector<cmGeneratorTarget*> Exports;
cmLocalGenerator* LG;
+ // The directory for C++ module information.
+ std::string CxxModulesDirectory;
};