diff options
| author | Brad King <brad.king@kitware.com> | 2022-03-01 13:46:02 (GMT) |
|---|---|---|
| committer | Kitware Robot <kwrobot@kitware.com> | 2022-03-01 13:46:09 (GMT) |
| commit | d687047f99b7fd16c8d6f9b95c44b865426c3ca4 (patch) | |
| tree | 521889b60859f608aaff623fba23ab0b761c6773 /Source/cmComputeLinkInformation.h | |
| parent | 1a46bc0d2b8e26eb96cb05d1fa4c97781ab503c1 (diff) | |
| parent | 0a81ea1f12cbaf60ec60b8e4a27c5ea476a655de (diff) | |
| download | CMake-d687047f99b7fd16c8d6f9b95c44b865426c3ca4.zip CMake-d687047f99b7fd16c8d6f9b95c44b865426c3ca4.tar.gz CMake-d687047f99b7fd16c8d6f9b95c44b865426c3ca4.tar.bz2 | |
Merge topic 'genex-LINK_GROUP'
0a81ea1f12 Genex-LINK_GROUP: Add possibility to group libraries at link step
a9928eb4a5 SunPro C: ensure LINKER: prefix is usable for all versions
01ff75b2ff cmComputeDepends::LinkEntry: introduce enum to specify item type
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7005
Diffstat (limited to 'Source/cmComputeLinkInformation.h')
| -rw-r--r-- | Source/cmComputeLinkInformation.h | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/Source/cmComputeLinkInformation.h b/Source/cmComputeLinkInformation.h index 4b7fb1a..a4ada1f 100644 --- a/Source/cmComputeLinkInformation.h +++ b/Source/cmComputeLinkInformation.h @@ -255,12 +255,6 @@ private: { public: FeatureDescriptor() = default; - FeatureDescriptor(std::string name, std::string itemFormat); - FeatureDescriptor(std::string name, std::string itemPathFormat, - std::string itemNameFormat); - FeatureDescriptor(std::string name, std::string prefix, - std::string itemPathFormat, std::string itemNameFormat, - std::string suffix); const std::string Name; const bool Supported = false; @@ -273,13 +267,44 @@ private: std::string const& defaultValue, ItemIsPath isPath) const; + protected: + FeatureDescriptor(std::string name, std::string itemFormat); + FeatureDescriptor(std::string name, std::string itemPathFormat, + std::string itemNameFormat); + FeatureDescriptor(std::string name, std::string prefix, + std::string itemPathFormat, std::string itemNameFormat, + std::string suffix); + + FeatureDescriptor(std::string name, std::string prefix, std::string suffix, + bool isGroup); + private: std::string ItemPathFormat; std::string ItemNameFormat; }; + + class LibraryFeatureDescriptor : public FeatureDescriptor + { + public: + LibraryFeatureDescriptor(std::string name, std::string itemFormat); + LibraryFeatureDescriptor(std::string name, std::string itemPathFormat, + std::string itemNameFormat); + LibraryFeatureDescriptor(std::string name, std::string prefix, + std::string itemPathFormat, + std::string itemNameFormat, std::string suffix); + }; std::map<std::string, FeatureDescriptor> LibraryFeatureDescriptors; bool AddLibraryFeature(std::string const& feature); FeatureDescriptor const& GetLibraryFeature(std::string const& feature) const; FeatureDescriptor const* FindLibraryFeature( std::string const& feature) const; + + class GroupFeatureDescriptor : public FeatureDescriptor + { + public: + GroupFeatureDescriptor(std::string name, std::string prefix, + std::string suffix); + }; + std::map<std::string, FeatureDescriptor> GroupFeatureDescriptors; + FeatureDescriptor const& GetGroupFeature(std::string const& feature); }; |
