From a2653a77d1a85e3174cb33e6eafd46bdda6bbf6e Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 15 Apr 2014 14:04:59 -0400 Subject: [PATCH] shortcut Environment#process if @targets is empty --- lib/rscons/environment.rb | 40 ++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/lib/rscons/environment.rb b/lib/rscons/environment.rb index 4cdebd7..24a6a0e 100644 --- a/lib/rscons/environment.rb +++ b/lib/rscons/environment.rb @@ -175,29 +175,31 @@ module Rscons cache = Cache.instance cache.clear_checksum_cache! targets_processed = {} - process_target = proc do |target| - targets_processed[target] ||= begin - @targets[target][:sources].each do |src| - if @targets.include?(src) and not targets_processed.include?(src) - process_target.call(src) + unless @targets.empty? + process_target = proc do |target| + targets_processed[target] ||= begin + @targets[target][:sources].each do |src| + if @targets.include?(src) and not targets_processed.include?(src) + process_target.call(src) + end end + result = run_builder(@targets[target][:builder], + target, + @targets[target][:sources], + cache, + @targets[target][:vars] || {}) + unless result + cache.write + raise BuildError.new("Failed to build #{target}") + end + result end - result = run_builder(@targets[target][:builder], - target, - @targets[target][:sources], - cache, - @targets[target][:vars] || {}) - unless result - cache.write - raise BuildError.new("Failed to build #{target}") - end - result end + @targets.each do |target, target_params| + process_target.call(target) + end + cache.write end - @targets.each do |target, target_params| - process_target.call(target) - end - cache.write end # Clear all targets registered for the Environment.