allow passing Builder objects as sources to build targets - close #95

This commit is contained in:
josh committed 2019-04-09 20:35:46 -04:00
1 parent 568b78e2e2
commit 008fa4844d
3 files changed
+15

No files matched your search

+6
View File
@@ -0,0 +1,6 @@
build do
Environment.new do |env|
object = env.Object("simple.o", "simple.c")
env.Program("simple.exe", object)
end
end
+1
View File
@@ -310,6 +310,7 @@ module Rscons
end
target = expand_path(expand_varref(target))
sources = Array(sources).map do |source|
source = source.target if sources.is_a?(Builder)
expand_path(expand_varref(source))
end.flatten
builder = @builders[method.to_s].new(
+8
View File
@@ -173,6 +173,14 @@ EOF
expect(`./simple.exe`).to eq "This is a simple C program\n"
end
it "allows specifying a Builder object as the source to another build target" do
test_dir("simple")
result = run_rscons(rsconscript: "builder_as_source.rb")
expect(result.stderr).to eq ""
expect(File.exists?("simple.o")).to be_truthy
expect(`./simple.exe`).to eq "This is a simple C program\n"
end
it 'prints commands as they are executed' do
test_dir('simple')
result = run_rscons(rsconscript: "command.rb")