add Environment#clone() and a build test for it

This commit is contained in:
josh committed 2013-07-15 21:44:07 -04:00
1 parent c9f6bdb2e2
commit b8acc74b5d
4 files changed
+45

No files matched your search

+18
View File
@@ -36,6 +36,24 @@ module Rscons
end
end
def clone(variables = {})
env = Environment.new()
@builders.each do |builder_name, builder|
env.add_builder(builder)
end
@build_dirs.each do |src_dir, obj_dir|
env.build_dir(src_dir, obj_dir)
end
env.append(@varset)
env.append(variables)
if block_given?
yield env
env.process
end
env
end
def add_builder(builder)
@builders[builder.class.short_name] = builder
var_defs = builder.default_variables(self)