Sha256: 7b1a87c0ae9b7c604944f1cdf3095bf510ef5cd2e558da30d6e2033a74473d3a
Contents?: true
Size: 1.89 KB
Versions: 5
Compression:
Stored size: 1.89 KB
Contents
require "bundler/gem_helper" require "rake/clean" base_dir = File.join(File.dirname(__FILE__)) helper = Bundler::GemHelper.new(base_dir) helper.install spec = helper.gemspec def run_extconf(build_dir, extension_dir, *arguments) cd(build_dir) do ruby(File.join(extension_dir, "extconf.rb"), *arguments) end end def make_command if RUBY_PLATFORM =~ /mswin/ "nmake" else ENV["MAKE"] || find_make end end def find_make candidates = ["gmake", "make"] paths = ENV.fetch("PATH", "").split(File::PATH_SEPARATOR) exeext = RbConfig::CONFIG["EXEEXT"] candidates.each do |candidate| paths.each do |path| cmd = File.join(path, "#{candidate}#{exeext}") return cmd if File.executable?(cmd) end end end Dir[File.expand_path('../tasks/**/*.rake', __FILE__)].each {|f| load f } spec.extensions.each do |extension| extension_dir = File.join(base_dir, File.dirname(extension)) build_dir = ENV["BUILD_DIR"] if build_dir build_dir = File.join(build_dir, "pycall") directory build_dir else build_dir = extension_dir end makefile = File.join(build_dir, "Makefile") file makefile => build_dir do run_extconf(build_dir, extension_dir) end CLOBBER << makefile CLOBBER << File.join(build_dir, "mkmf.log") desc "Configure" task configure: makefile desc "Compile" task compile: makefile do cd(build_dir) do sh(make_command) end end task :clean do cd(build_dir) do sh(make_command, "clean") if File.exist?("Makefile") end end end require "rake/extensiontask" Rake::ExtensionTask.new("pycall/spec_helper") desc "Run tests" task :test do cd(base_dir) do ruby("test/run-test.rb") end end task default: :test require "rspec/core/rake_task" RSpec::Core::RakeTask.new(:spec) do |t| ext_dir = File.join(base_dir, "ext/pycall") t.ruby_opts = "-I#{ext_dir}" t.verbose = true end task default: :spec task spec: :compile
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
pycall-1.5.1 | Rakefile |
pycall-1.5.0 | Rakefile |
pycall-1.4.2 | Rakefile |
pycall-1.4.1 | Rakefile |
pycall-1.4.0 | Rakefile |