diff options
author | Eugene Shalygin <eugene.shalygin@gmail.com> | 2021-07-20 18:08:17 (GMT) |
---|---|---|
committer | Eugene Shalygin <eugene.shalygin@gmail.com> | 2021-07-22 11:08:58 (GMT) |
commit | 55e4753bbb60c0da12b09837bac97a46b851ae32 (patch) | |
tree | 392f9c7e46d7b45c95c60f7ce7b5a92fa0831623 /Source/cmTarget.cxx | |
parent | 26a76cf46d5209aec03d941fee203d23172dde75 (diff) | |
download | CMake-55e4753bbb60c0da12b09837bac97a46b851ae32.zip CMake-55e4753bbb60c0da12b09837bac97a46b851ae32.tar.gz CMake-55e4753bbb60c0da12b09837bac97a46b851ae32.tar.bz2 |
Refactor cmTargetExport removing InterfaceIncludeDirecories
Because of this property in the cmTargetExport struct, exporting targets
is not uniform: top-level ones have to be dealt with via the
cmTargetExport objects, while all linked ones are cmGeneratorTarget
objects. Let's pass this additional includedirectories via a special
target property making handling exported targets uniform.
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r-- | Source/cmTarget.cxx | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 7622700..70e11a2 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -189,6 +189,7 @@ public: std::map<std::string, BTs<std::string>> LanguageStandardProperties; std::vector<std::string> IncludeDirectoriesEntries; std::vector<cmListFileBacktrace> IncludeDirectoriesBacktraces; + std::vector<std::string> InstallIncludeDirectoriesEntries; std::vector<std::string> CompileOptionsEntries; std::vector<cmListFileBacktrace> CompileOptionsBacktraces; std::vector<std::string> CompileFeaturesEntries; @@ -1075,6 +1076,17 @@ std::set<std::string> const& cmTarget::GetSystemIncludeDirectories() const return this->impl->SystemIncludeDirectories; } +void cmTarget::AddInstallIncludeDirectories(cmStringRange const& incs) +{ + std::copy(incs.begin(), incs.end(), + std::back_inserter(this->impl->InstallIncludeDirectoriesEntries)); +} + +cmStringRange cmTarget::GetInstallIncludeDirectoriesEntries() const +{ + return cmMakeRange(this->impl->InstallIncludeDirectoriesEntries); +} + cmStringRange cmTarget::GetIncludeDirectoriesEntries() const { return cmMakeRange(this->impl->IncludeDirectoriesEntries); |