summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/build_engine/target_map/built_in_rules.cpp11
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;
}