aboutsummaryrefslogtreecommitdiff
path: root/build2/b-options.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2020-06-16 13:07:31 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2020-06-16 13:07:31 +0200
commit50e725ae23124a10d56a615fb8b0ae80d0d2b4d3 (patch)
treeab916fa1916d7e435a3bf4e25ef205ce4eccbd08 /build2/b-options.cxx
parentaf73b1603d851dcb2ce7ae84bd57df0c2f9a716d (diff)
Add metadata for exe{b}, including whether it is statically-linked
Use this information to omit ad hoc C++ recipe tests is testing statically- linked build system.
Diffstat (limited to 'build2/b-options.cxx')
-rw-r--r--build2/b-options.cxx14
1 files changed, 13 insertions, 1 deletions
diff --git a/build2/b-options.cxx b/build2/b-options.cxx
index 4dadf99..ce322cc 100644
--- a/build2/b-options.cxx
+++ b/build2/b-options.cxx
@@ -674,7 +674,9 @@ namespace build2
options::
options ()
- : v_ (),
+ : build2_metadata_ (),
+ build2_metadata_specified_ (false),
+ v_ (),
V_ (),
quiet_ (),
silent_ (),
@@ -787,6 +789,13 @@ namespace build2
{
CLI_POTENTIALLY_UNUSED (a);
+ if (a.build2_metadata_specified_)
+ {
+ ::build2::cl::parser< uint64_t>::merge (
+ this->build2_metadata_, a.build2_metadata_);
+ this->build2_metadata_specified_ = true;
+ }
+
if (a.v_)
{
::build2::cl::parser< bool>::merge (
@@ -1202,6 +1211,9 @@ namespace build2
{
_cli_options_map_init ()
{
+ _cli_options_map_["--build2-metadata"] =
+ &::build2::cl::thunk< options, uint64_t, &options::build2_metadata_,
+ &options::build2_metadata_specified_ >;
_cli_options_map_["-v"] =
&::build2::cl::thunk< options, bool, &options::v_ >;
_cli_options_map_["-V"] =