fix #13 - Environment#depends should expand its arguments for construction variables

This commit is contained in:
Josh Holtrop 2014-08-18 15:39:33 -04:00
parent eb28e09d8c
commit 851adae66f
2 changed files with 9 additions and 1 deletions

View File

@ -351,7 +351,8 @@ module Rscons
# #
# @return [void] # @return [void]
def depends(target, *user_deps) def depends(target, *user_deps)
target = target.to_s target = expand_varref(target.to_s)
user_deps = user_deps.map {|ud| expand_varref(ud)}
@user_deps[target] ||= [] @user_deps[target] ||= []
@user_deps[target] = (@user_deps[target] + user_deps).uniq @user_deps[target] = (@user_deps[target] + user_deps).uniq
end end

View File

@ -322,6 +322,13 @@ module Rscons
env.depends("foo", "bar", "baz") env.depends("foo", "bar", "baz")
expect(env.instance_variable_get(:@user_deps)).to eq({"foo" => ["bar", "baz"]}) expect(env.instance_variable_get(:@user_deps)).to eq({"foo" => ["bar", "baz"]})
end end
it "expands arguments for construction variable references" do
env = Environment.new
env["foo"] = "foo.exe"
env["bar"] = "bar.c"
env.depends("${foo}", "${bar}", "a.h")
expect(env.instance_variable_get(:@user_deps)).to eq({"foo.exe" => ["bar.c", "a.h"]})
end
end end
describe "#build_sources" do describe "#build_sources" do