mirror of
https://github.com/reactos/CMake.git
synced 2025-01-31 17:12:49 +00:00
ae5e97a005
They are unused, but if someone used them they would lead to problems since they would copy the internal raw pointers and the destructor would cause double delete
56 lines
1.3 KiB
C++
56 lines
1.3 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
#ifndef cmExportSet_h
|
|
#define cmExportSet_h
|
|
|
|
#include "cmConfigure.h" // IWYU pragma: keep
|
|
|
|
#include <string>
|
|
#include <utility>
|
|
#include <vector>
|
|
|
|
class cmInstallExportGenerator;
|
|
class cmLocalGenerator;
|
|
class cmTargetExport;
|
|
|
|
/// A set of targets that were installed with the same EXPORT parameter.
|
|
class cmExportSet
|
|
{
|
|
public:
|
|
/// Construct an empty export set named \a name
|
|
cmExportSet(std::string name)
|
|
: Name(std::move(name))
|
|
{
|
|
}
|
|
/// Destructor
|
|
~cmExportSet();
|
|
|
|
cmExportSet(const cmExportSet&) = delete;
|
|
cmExportSet& operator=(const cmExportSet&) = delete;
|
|
|
|
void Compute(cmLocalGenerator* lg);
|
|
|
|
void AddTargetExport(cmTargetExport* tgt);
|
|
|
|
void AddInstallation(cmInstallExportGenerator const* installation);
|
|
|
|
std::string const& GetName() const { return this->Name; }
|
|
|
|
std::vector<cmTargetExport*> const* GetTargetExports() const
|
|
{
|
|
return &this->TargetExports;
|
|
}
|
|
|
|
std::vector<cmInstallExportGenerator const*> const* GetInstallations() const
|
|
{
|
|
return &this->Installations;
|
|
}
|
|
|
|
private:
|
|
std::vector<cmTargetExport*> TargetExports;
|
|
std::string Name;
|
|
std::vector<cmInstallExportGenerator const*> Installations;
|
|
};
|
|
|
|
#endif
|