jes-ruby/Rakefile.rb

53 lines
1.2 KiB
Ruby

require "bundler"
Bundler.setup(:default)
require "rake/clean"
require "rscons"
NAME = "jes"
GTEST_VERSION = "1.7.0"
base_env = Rscons::Environment.new do |env|
env.build_root = "build"
env["CCFLAGS"] += ["-Wall", "-O2"]
env["CFLAGS"] << "-std=gnu99"
env["CXXFLAGS"] << "-std=gnu++11"
end
task :default do
base_env.clone(clone: :all) do |env|
env.parse_flags!("!sdl2-config --cflags --libs")
env.parse_flags!("!freetype-config --cflags --libs")
env["LIBS"] += ["dl"]
if RUBY_PLATFORM =~ /mingw/
env["LIBS"] += ["opengl32"]
else
env["LIBS"] += ["GL"]
end
env.Program("bin/jes", Dir["src/**/*.{cc,c}"])
end
end
task :test => :default do
base_env.clone(clone: :all) do |env|
env["CPPPATH"] << "src"
env["CPPPATH"] << "gtest-#{GTEST_VERSION}/include"
env["CPPPATH"] << "gtest-#{GTEST_VERSION}"
sources = Dir["gtest-#{GTEST_VERSION}/src/gtest-all.cc",
"gtest-#{GTEST_VERSION}/src/gtest_main.cc",
"src/**/*.{cc,c}",
"test/src/**/*.cc"]
env.Program("build/tests", sources)
if RUBY_PLATFORM =~ /linux/
env["LIBS"] << "pthread"
end
end
system("./build/tests")
end
task :all => :default
task :clean do
Rscons.clean
end