diff options
| author | Bent Bisballe Nyeng <deva@aasimon.org> | 2025-12-27 15:08:07 +0100 |
|---|---|---|
| committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2026-01-05 22:47:12 +0100 |
| commit | fa99825fa800f0faf4a6e6b1d639b261c7aa43c9 (patch) | |
| tree | 17945e16aa7f33c8aede1694c90a08b7cc05e0e1 /src/ctor.h | |
| parent | 5ac072c0f42bf3216d16f177c795e9324bf3c52b (diff) | |
Add many-to-one generator function type.develop
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>; |
