cmake/Source/cmExportSet.h

52 lines
1.2 KiB
C
Raw Normal View History

2016-10-30 18:24:19 +01:00
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
2013-03-16 19:13:01 +02:00
#ifndef cmExportSet_h
#define cmExportSet_h
2017-07-20 19:35:53 +02:00
#include "cmConfigure.h" // IWYU pragma: keep
2016-10-30 18:24:19 +01:00
#include <string>
#include <vector>
2016-07-09 11:21:54 +02:00
2013-03-16 19:13:01 +02:00
class cmInstallExportGenerator;
2016-03-13 13:35:51 +01:00
class cmLocalGenerator;
2016-10-30 18:24:19 +01:00
class cmTargetExport;
2013-03-16 19:13:01 +02:00
/// A set of targets that were installed with the same EXPORT parameter.
class cmExportSet
{
public:
/// Construct an empty export set named \a name
2016-07-09 11:21:54 +02:00
cmExportSet(const std::string& name)
: Name(name)
{
}
2013-03-16 19:13:01 +02:00
/// Destructor
~cmExportSet();
2016-03-13 13:35:51 +01:00
void Compute(cmLocalGenerator* lg);
2013-03-16 19:13:01 +02:00
void AddTargetExport(cmTargetExport* tgt);
void AddInstallation(cmInstallExportGenerator const* installation);
std::string const& GetName() const { return this->Name; }
std::vector<cmTargetExport*> const* GetTargetExports() const
2016-07-09 11:21:54 +02:00
{
return &this->TargetExports;
}
2013-03-16 19:13:01 +02:00
std::vector<cmInstallExportGenerator const*> const* GetInstallations() const
2016-07-09 11:21:54 +02:00
{
return &this->Installations;
}
2013-03-16 19:13:01 +02:00
private:
std::vector<cmTargetExport*> TargetExports;
std::string Name;
std::vector<cmInstallExportGenerator const*> Installations;
};
#endif