Compare commits

...
2 Commits
Author SHA1 Message Date
josh 3af6b6be1b v1.9.2 2016-01-12 10:16:00 -05:00
josh 0442b876a5 allow phony targets in conjunction with a build root 2016-01-12 10:14:10 -05:00
5 changed files with 15 additions and 4 deletions

No files matched your search

+2 -2
View File
@@ -1,7 +1,7 @@
PATH PATH
remote: . remote: .
specs: specs:
rscons (1.9.1) rscons (1.9.2)
json (~> 1.0) json (~> 1.0)
GEM GEM
@@ -48,4 +48,4 @@ DEPENDENCIES
yard yard
BUNDLED WITH BUNDLED WITH
1.10.4 1.10.6
+4
View File
@@ -406,6 +406,10 @@ http://rubydoc.info/github/holtrop/rscons/frames.
## Release Notes ## Release Notes
### v1.9.2
- allow phony targets in conjunction with build roots
### v1.9.1 ### v1.9.1
- change *SUFFIX defaults to arrays - change *SUFFIX defaults to arrays
+4
View File
@@ -509,8 +509,12 @@ module Rscons
# #
# @return [String] The expanded path. # @return [String] The expanded path.
def expand_path(path) def expand_path(path)
if Rscons.phony_target?(path)
path
else
path.sub(%r{^\^(?=[\\/])}, @build_root) path.sub(%r{^\^(?=[\\/])}, @build_root)
end end
end
# Execute a command using the system shell. # Execute a command using the system shell.
# #
+1 -1
View File
@@ -1,4 +1,4 @@
module Rscons module Rscons
# gem version # gem version
VERSION = "1.9.1" VERSION = "1.9.2"
end end
+4 -1
View File
@@ -933,9 +933,11 @@ EOF
end end
context "phony targets" do context "phony targets" do
[false, true].each do |with_build_root|
it "allows specifying a Symbol as a target name and reruns the builder if the sources or command have changed" do it "allows specifying a Symbol as a target name and reruns the builder if the sources or command have changed" do
test_dir("simple") test_dir("simple")
env = Rscons::Environment.new do |env| env = Rscons::Environment.new do |env|
env.build_root = "bld" if with_build_root
env.add_builder(:Checker) do |target, sources, cache, env, vars| env.add_builder(:Checker) do |target, sources, cache, env, vars|
unless cache.up_to_date?(target, :Checker, sources, env) unless cache.up_to_date?(target, :Checker, sources, env)
puts "Checker #{sources.first}" if env.echo != :off puts "Checker #{sources.first}" if env.echo != :off
@@ -946,7 +948,7 @@ EOF
env.Program("simple.exe", "simple.c") env.Program("simple.exe", "simple.c")
env.Checker(:checker, "simple.exe") env.Checker(:checker, "simple.exe")
end end
expect(lines).to eq(["CC simple.o", "LD simple.exe", "Checker simple.exe"]) expect(lines).to eq(["CC #{with_build_root ? 'bld/' : ''}simple.o", "LD simple.exe", "Checker simple.exe"])
env.clone do |env| env.clone do |env|
env.Checker(:checker, "simple.exe") env.Checker(:checker, "simple.exe")
@@ -962,5 +964,6 @@ EOF
expect(lines).to eq(["Checker simple.exe"]) expect(lines).to eq(["Checker simple.exe"])
end end
end end
end
end end