aboutsummaryrefslogtreecommitdiff
path: root/build/variable.ixx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-04-29 13:17:30 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-04-29 13:17:30 +0200
commit6dbf3bbd2efa963859156826a25fc639c6c52ce5 (patch)
tree20cfd40a9b9649578a88b5eff7415a56eb14001d /build/variable.ixx
parentc087efe145a75087acd646abe3258dad4aef4e2a (diff)
Add support for setting target-specific variables from buildfiles
Diffstat (limited to 'build/variable.ixx')
-rw-r--r--build/variable.ixx8
1 files changed, 7 insertions, 1 deletions
diff --git a/build/variable.ixx b/build/variable.ixx
index 54d7104..576d0cb 100644
--- a/build/variable.ixx
+++ b/build/variable.ixx
@@ -28,7 +28,13 @@ namespace build
inline const value_proxy& value_proxy::
operator= (list_value v) const
{
- p->reset (new list_value (std::move (v)));
+ if (*p == nullptr)
+ p->reset (new list_value (std::move (v)));
+ else
+ //@@ Assuming it is a list_value.
+ //
+ as<list_value&> () = std::move (v);
+
return *this;
}