diff options
| author | Bent Bisballe Nyeng <deva@aasimon.org> | 2025-12-25 18:24:30 +0100 |
|---|---|---|
| committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2025-12-25 18:24:30 +0100 |
| commit | 0697033ec271aa76ecb9aff89487b7a07f6b4a8c (patch) | |
| tree | b07b10beaa32f604551d8d912314dfe536b73097 /src/ctor.h | |
| parent | 3091c5b12717a44a67962b9e245b2de8069a7cf5 (diff) | |
Decorate sources as 'generated' to make sure they inject a dependency to their generators, and look for the sources in the build folder instead of the source folder.generated_sources
Diffstat (limited to 'src/ctor.h')
| -rw-r--r-- | src/ctor.h | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -67,6 +67,12 @@ struct output_file std::string file; }; +enum class source_type +{ + regular, + generated, +}; + struct source { template <class ... Args> @@ -74,6 +80,7 @@ struct source std::is_convertible_v<Args, std::string_view> || std::is_same_v<Args, ctor::toolchain> || std::is_same_v<Args, ctor::language> || + std::is_same_v<Args, ctor::source_type> || std::is_same_v<Args, ctor::output_file> ) && ...) constexpr source(Args && ... arg) @@ -96,6 +103,10 @@ struct source { output = arg.file; } + else if constexpr(std::is_same_v<Args, ctor::source_type>) + { + source_type = arg; + } }(), ...); } @@ -103,6 +114,7 @@ struct source ctor::toolchain toolchain{ctor::toolchain::any}; ctor::language language{ctor::language::automatic}; std::string output{}; + ctor::source_type source_type{ctor::source_type::regular}; }; enum class cxx_opt |
