30 lines
768 B
Plaintext
30 lines
768 B
Plaintext
configure do
|
|
check_d_compiler
|
|
end
|
|
|
|
fart_env = env "fart" do |env|
|
|
env["DFLAGS"] += %w[-Werror -O2]
|
|
env["D_IMPORT_PATH"] += %w[src]
|
|
|
|
env.Command("^/src/sceneparser.d", "src/sceneparser.propane",
|
|
"CMD" => %w[./propane ${_SOURCES} ${_TARGET}],
|
|
"CMD_DESC" => "Generating scene parser")
|
|
env.add_build_hook do |builder|
|
|
if builder.sources.first =~ /sceneparser\.d/
|
|
builder.vars["DFLAGS"] -= %w[-Werror]
|
|
end
|
|
end
|
|
|
|
env["sources"] = glob("src/**/*.d") + ["^/src/sceneparser.d"]
|
|
env.Program("fart", "${sources}")
|
|
end
|
|
|
|
task "test" do
|
|
test_env = fart_env.clone "test" do |env|
|
|
env["DFLAGS"] += %w[-funittest]
|
|
env.Program("^/farttest", "${sources}")
|
|
end
|
|
test_env.process
|
|
sh test_env.expand("^/farttest")
|
|
end
|