configure do check_cxx_compiler "clang++" check_cfg package: "libpng" end class Propane < Builder def run(options) @sources += ["propane"] unless @sources.include?("propane") if @command finalize_command else command = %W[./propane -w --log #{@target}.log #{@sources.first} #{@target}] standard_command("Propane #{@target}", command, options) end end end env do |env| env.add_builder(Propane) env["CCFLAGS"] += %w[-Wall -O2 -std=c++23 -include fart/common.h] env["CPPPATH"] += %W[src #{env.build_root}/src] env.Propane("^/src/fart/propane.cpp", "src/fart.propane") env.barrier sources = glob("src/**/*.cpp") + ["#{env.build_root}/src/fart/propane.cpp"] env.Program("fart", sources) end