require "bundler" Bundler.setup(:default) require "rake/clean" require "rscons" NAME = "jes" GTEST_VERSION = "1.7.0" task :library do Rscons::Environment.new do |env| env.build_root = "build" env["CPPPATH"] << "src/lib/include" env.Library("^/lib#{NAME}.a", Dir["src/lib/**/*.{cc,c}"]) end end task :test => :library do Rscons::Environment.new do |env| env.build_root = "build" env["CPPPATH"] << "src/lib/include" env["CPPPATH"] << "gtest-#{GTEST_VERSION}/include" env["CPPPATH"] << "gtest-#{GTEST_VERSION}" env["LIBS"] << NAME env["LIBPATH"] << env.build_root sources = Dir["gtest-#{GTEST_VERSION}/src/gtest-all.cc", "gtest-#{GTEST_VERSION}/src/gtest_main.cc", "test/src/**/*.cc"] env.Program("build/tests", sources) if RUBY_PLATFORM =~ /linux/ env["LIBS"] << "pthread" end end system("./build/tests") end task :default => [:library] task :clean do Rscons.clean end