diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-12-01 13:39:09 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-12-01 13:42:10 +0200 |
commit | 7996c2bfc2d7e998e2f9f1236d457ec7bea8ad8a (patch) | |
tree | dca79d3657bec47d4cd5db85899a70d3d49c079e /build/cli | |
parent | f355a4379f035df61a7702f5ff805eefb004fb20 (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/target | 4 | ||||
-rw-r--r-- | build/cli/target.cxx | 8 |
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 }; } } |