diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2022-01-13 20:59:48 (GMT) |
---|---|---|
committer | Kyle Edwards <kyle.edwards@kitware.com> | 2022-01-20 14:05:35 (GMT) |
commit | fce24e4f102686c5c103db301bb698e0ea82765f (patch) | |
tree | e5effdc88ea773c899b08b084aaf89dc936885dc /Source/cmTarget.cxx | |
parent | 1ca83ae2bbf9e474c46b6ea094c5035420bbfd45 (diff) | |
download | CMake-fce24e4f102686c5c103db301bb698e0ea82765f.zip CMake-fce24e4f102686c5c103db301bb698e0ea82765f.tar.gz CMake-fce24e4f102686c5c103db301bb698e0ea82765f.tar.bz2 |
define_property(): Add INITIALIZE_FROM_VARIABLE argument
Fixes: #20698
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r-- | Source/cmTarget.cxx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index c5703a1..ad19e03 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -28,6 +28,7 @@ #include "cmMakefile.h" #include "cmMessageType.h" #include "cmProperty.h" +#include "cmPropertyDefinition.h" #include "cmPropertyMap.h" #include "cmRange.h" #include "cmSourceFile.h" @@ -557,6 +558,16 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type, } } } + + for (auto const& prop : mf->GetState()->GetPropertyDefinitions().GetMap()) { + if (prop.first.second == cmProperty::TARGET && + !prop.second.GetInitializeFromVariable().empty()) { + if (auto value = + mf->GetDefinition(prop.second.GetInitializeFromVariable())) { + this->SetProperty(prop.first.first, value); + } + } + } } cmTarget::cmTarget(cmTarget&&) noexcept = default; |