diff options
Diffstat (limited to 'src/ctor.h')
| -rw-r--r-- | src/ctor.h | 19 |
1 files changed, 14 insertions, 5 deletions
@@ -282,10 +282,17 @@ struct settings }; struct build_configuration; -using GeneratorCb = std::function<int(const std::string& input, - const std::string& output, - const build_configuration& config, - const ctor::settings& settings)>; +using GeneratorOneToOne = + std::function<int(const std::string& input, + const std::string& output, + const build_configuration& config, + const ctor::settings& settings)>; + +using GeneratorManyToOne = + std::function<int(const std::vector<std::string>& input, + const std::string& output, + const ctor::build_configuration& config, + const ctor::settings& settings)>; struct build_configuration { @@ -297,7 +304,9 @@ struct build_configuration std::vector<std::string> depends; // internal target dependencies ctor::flags flags; std::vector<std::string> externals; // externals used by this configuration - GeneratorCb function; + std::variant<std::monostate, + GeneratorOneToOne, + GeneratorManyToOne> function; }; using build_configurations = std::vector<build_configuration>; |
