diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/build_engine/target_map/built_in_rules.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/buildtool/build_engine/target_map/built_in_rules.cpp b/src/buildtool/build_engine/target_map/built_in_rules.cpp index a34dfb03..763385e2 100644 --- a/src/buildtool/build_engine/target_map/built_in_rules.cpp +++ b/src/buildtool/build_engine/target_map/built_in_rules.cpp @@ -953,7 +953,16 @@ void ConfigureRule( } auto param_config = key.config.Prune(*param_vars); - auto configured_target_name = desc->ReadExpression("target"); + auto configured_target_name_exp = desc->ReadExpression("target"); + if (not configured_target_name_exp) { + return; + } + auto configured_target_name = configured_target_name_exp.Evaluate( + param_config, {}, [logger](std::string const& msg) { + (*logger)( + fmt::format("Evaluating 'target' failed with error:\n{}", msg), + true); + }); if (not configured_target_name) { return; } |