mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-03 21:00:01 -05:00
install(EXPORT): Export find_dependency() calls
Issue: #20511 Co-Authored-by: Brad King <brad.king@kitware.com> Co-Authored-by: Robert Maynard <rmaynard@nvidia.com>
This commit is contained in:
@@ -9,6 +9,8 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <cm/optional>
|
||||
|
||||
class cmInstallExportGenerator;
|
||||
class cmLocalGenerator;
|
||||
class cmTargetExport;
|
||||
@@ -43,10 +45,36 @@ public:
|
||||
return &this->Installations;
|
||||
}
|
||||
|
||||
enum class PackageDependencyExportEnabled
|
||||
{
|
||||
Auto,
|
||||
Off,
|
||||
On,
|
||||
};
|
||||
|
||||
struct PackageDependency
|
||||
{
|
||||
PackageDependencyExportEnabled Enabled =
|
||||
PackageDependencyExportEnabled::Auto;
|
||||
std::vector<std::string> ExtraArguments;
|
||||
cm::optional<unsigned int> SpecifiedIndex;
|
||||
cm::optional<unsigned int> FindPackageIndex;
|
||||
};
|
||||
|
||||
PackageDependency& GetPackageDependencyForSetup(const std::string& name);
|
||||
|
||||
const std::map<std::string, PackageDependency>& GetPackageDependencies()
|
||||
const
|
||||
{
|
||||
return this->PackageDependencies;
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<std::unique_ptr<cmTargetExport>> TargetExports;
|
||||
std::string Name;
|
||||
std::vector<cmInstallExportGenerator const*> Installations;
|
||||
std::map<std::string, PackageDependency> PackageDependencies;
|
||||
unsigned int NextPackageDependencyIndex = 0;
|
||||
};
|
||||
|
||||
/// A name -> cmExportSet map with overloaded operator[].
|
||||
|
||||
Reference in New Issue
Block a user