summaryrefslogtreecommitdiffstats
path: root/Source/cmExportBuildFileGenerator.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmExportBuildFileGenerator.h')
-rw-r--r--Source/cmExportBuildFileGenerator.h30
1 files changed, 25 insertions, 5 deletions
diff --git a/Source/cmExportBuildFileGenerator.h b/Source/cmExportBuildFileGenerator.h
index c5bb0df..2ac8fba 100644
--- a/Source/cmExportBuildFileGenerator.h
+++ b/Source/cmExportBuildFileGenerator.h
@@ -33,15 +33,25 @@ class cmTargetExport;
class cmExportBuildFileGenerator : public cmExportFileGenerator
{
public:
+ struct TargetExport
+ {
+ TargetExport(std::string name)
+ : Name(std::move(name))
+ {
+ }
+
+ std::string Name;
+ };
+
cmExportBuildFileGenerator();
/** Set the list of targets to export. */
- void SetTargets(std::vector<std::string> const& targets)
+ void SetTargets(std::vector<TargetExport> const& targets)
{
this->Targets = targets;
}
- void GetTargets(std::vector<std::string>& targets) const;
- void AppendTargets(std::vector<std::string> const& targets)
+ void GetTargets(std::vector<TargetExport>& targets) const;
+ void AppendTargets(std::vector<TargetExport> const& targets)
{
cm::append(this->Targets, targets);
}
@@ -99,9 +109,19 @@ protected:
std::pair<std::vector<std::string>, std::string> FindBuildExportInfo(
cmGlobalGenerator* gg, const std::string& name);
- std::vector<std::string> Targets;
+ struct TargetExportPrivate
+ {
+ TargetExportPrivate(cmGeneratorTarget* target)
+ : Target(target)
+ {
+ }
+
+ cmGeneratorTarget* Target;
+ };
+
+ std::vector<TargetExport> Targets;
cmExportSet* ExportSet;
- std::vector<cmGeneratorTarget*> Exports;
+ std::vector<TargetExportPrivate> Exports;
cmLocalGenerator* LG;
// The directory for C++ module information.
std::string CxxModulesDirectory;