From 7996c2bfc2d7e998e2f9f1236d457ec7bea8ad8a Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 1 Dec 2015 13:39:09 +0200 Subject: 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. --- build/cli/target | 4 ++-- build/cli/target.cxx | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'build/cli') 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, &target_extension_fix, &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 }; } } -- cgit v1.1