Class: Ritual::Extension::Standard

Inherits:
Base
  • Object
show all
Defined in:
lib/ritual/extension/standard.rb

Constant Summary collapse

MAKE =
RUBY_PLATFORM =~ /win32/ ? 'nmake' : 'make'

Constants inherited from Base

Base::DLEXT, Base::RbConfig

Instance Attribute Summary

Attributes inherited from Base

#build_path, #install_path, #name, #path, #task_name

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Ritual::Extension::Base

Instance Method Details

#define_tasks ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/ritual/extension/standard.rb', line 6

def define_tasks
  desc "Build the #{name} extension."
  task task_name do
    relative_build_path = relative_path(build_path)
    relative_install_path = relative_path(install_path)
    Dir.chdir path do
      ruby 'extconf.rb'
      sh MAKE
      mkdir_p File.dirname(relative_install_path)
      sh "cp #{relative_build_path} #{relative_install_path}"
    end
  end

  task :clean do
    if File.exist?("#{path}/Makefile")
      Dir.chdir path do
        sh MAKE, 'clean'
        rm 'Makefile'
      end
    end
  end
end

#source_paths ⇒ Object



29
30
31
# File 'lib/ritual/extension/standard.rb', line 29

def source_paths
  @sources ||= Dir["#{path}/**/*.{c,cxx,cpp,C}"]
end