diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2022-05-30 19:33:37 +0200 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2022-06-09 22:27:49 +0200 |
commit | 69d6df33bf7fabe62cdcd61bcd7ebc20b6de6b67 (patch) | |
tree | 3de37f23c4449b899c222989c7c78aa8fc067fd8 /src | |
parent | 61f7f7538cc6abb0be64c35570f38dd2541d7451 (diff) |
Add custom output object names to source specifications.
Diffstat (limited to 'src')
-rw-r--r-- | src/libctor.h | 6 | ||||
-rw-r--r-- | src/task_cc.cc | 11 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/libctor.h b/src/libctor.h index f80a5c5..b539910 100644 --- a/src/libctor.h +++ b/src/libctor.h @@ -44,8 +44,14 @@ struct Source Source(const char* file, Language lang) : file(file), language(lang) {} Source(const std::string& file, Language lang) : file(file), language(lang) {} + Source(const char* file, const char* output) : file(file), output(output) {} + Source(const std::string& file, const std::string& output) : file(file), output(output) {} + Source(const char* file, Language lang, const char* output) : file(file), language(lang), output(output) {} + Source(const std::string& file, Language lang, const std::string& output) : file(file), language(lang), output(output) {} + std::string file; Language language{Language::Auto}; + std::string output{}; }; struct Flags diff --git a/src/task_cc.cc b/src/task_cc.cc index 673c16d..ee25abf 100644 --- a/src/task_cc.cc +++ b/src/task_cc.cc @@ -51,8 +51,15 @@ TaskCC::TaskCC(const BuildConfiguration& config, const Settings& settings, break; } - _targetFile = base; - _targetFile += ".o"; + if(source.output.empty()) + { + _targetFile = base; + _targetFile += ".o"; + } + else + { + _targetFile = source.output; + } depsFile = targetFile().parent_path() / targetFile().stem(); depsFile += ".d"; flagsFile = targetFile().parent_path() / targetFile().stem(); |