aboutsummaryrefslogtreecommitdiff
path: root/build2/bin/init.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-08-29 19:31:16 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-08-29 19:31:16 +0200
commit2720b45ef0ca9fd58c11fd9b4f000e1cf3a0819d (patch)
tree4505f65e4f997889e01d4b69bdf94257223d3dc6 /build2/bin/init.cxx
parent47e89b188ac71627f43e0bb8c47ffe08f6c1b919 (diff)
Implement initial support for library versioning
Currently we only support platform-independent versions that get appended to the library name. The magic incantation is this: lib{foo}: bin.lib.version = @-1.2 This will produce libfoo-1.2.so, libfoo-1.2.dll, etc. In the future we will support things like this: lib{foo}: bin.lib.version = linux@1.2.3 freebsd@1.2 windows@1.2
Diffstat (limited to 'build2/bin/init.cxx')
-rw-r--r--build2/bin/init.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/build2/bin/init.cxx b/build2/bin/init.cxx
index bf7dd69..6a417e7 100644
--- a/build2/bin/init.cxx
+++ b/build2/bin/init.cxx
@@ -4,6 +4,8 @@
#include <build2/bin/init>
+#include <map>
+
#include <butl/triplet>
#include <build2/scope>
@@ -79,6 +81,10 @@ namespace build2
v.insert<string> ("bin.lib.suffix");
v.insert<string> ("bin.exe.prefix");
v.insert<string> ("bin.exe.suffix");
+
+ v.insert<map<string, string>> ("bin.lib.version",
+ false,
+ variable_visibility::project);
}
// Configure.