aboutsummaryrefslogtreecommitdiff
path: root/build/cli
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-12-01 13:39:09 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-12-01 13:42:10 +0200
commit7996c2bfc2d7e998e2f9f1236d457ec7bea8ad8a (patch)
treedca79d3657bec47d4cd5db85899a70d3d49c079e /build/cli
parentf355a4379f035df61a7702f5ff805eefb004fb20 (diff)
Implement support for definition target type aliases
For example: define cli=file Currently, the semantics is that of a real alias with only name differences that are used for display. See tests/define/buildfile for more use cases.
Diffstat (limited to 'build/cli')
-rw-r--r--build/cli/target4
-rw-r--r--build/cli/target.cxx8
2 files changed, 7 insertions, 5 deletions
diff --git a/build/cli/target b/build/cli/target
index 7ee9a98..dbb05bd 100644
--- a/build/cli/target
+++ b/build/cli/target
@@ -19,8 +19,8 @@ namespace build
using file::file;
public:
- virtual const target_type& type () const {return static_type;}
static const target_type static_type;
+ virtual const target_type& dynamic_type () const {return static_type;}
};
class cli_cxx: public mtime_target
@@ -53,8 +53,8 @@ namespace build
load_mtime () const;
public:
- virtual const target_type& type () const {return static_type;}
static const target_type static_type;
+ virtual const target_type& dynamic_type () const {return static_type;}
};
}
}
diff --git a/build/cli/target.cxx b/build/cli/target.cxx
index e8ca1cf..0666335 100644
--- a/build/cli/target.cxx
+++ b/build/cli/target.cxx
@@ -24,7 +24,8 @@ namespace build
&target_factory<cli>,
&target_extension_fix<cli_ext>,
&search_file,
- false
+ false,
+ nullptr
};
// cli.cxx
@@ -47,7 +48,7 @@ namespace build
}
static target*
- cli_cxx_factory (dir_path d, string n, const string* e)
+ cli_cxx_factory (const target_type&, dir_path d, string n, const string* e)
{
tracer trace ("cli::cli_cxx_factory");
@@ -71,7 +72,8 @@ namespace build
&cli_cxx_factory,
nullptr,
&search_target,
- true // "See through" default iteration mode.
+ true, // "See through" default iteration mode.
+ nullptr
};
}
}