summaryrefslogtreecommitdiff
path: root/jni/ruby/lib/rubygems/ext/cmake_builder.rb
diff options
context:
space:
mode:
Diffstat (limited to 'jni/ruby/lib/rubygems/ext/cmake_builder.rb')
-rw-r--r--jni/ruby/lib/rubygems/ext/cmake_builder.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/jni/ruby/lib/rubygems/ext/cmake_builder.rb b/jni/ruby/lib/rubygems/ext/cmake_builder.rb
new file mode 100644
index 0000000..24531bc
--- /dev/null
+++ b/jni/ruby/lib/rubygems/ext/cmake_builder.rb
@@ -0,0 +1,16 @@
+require 'rubygems/command'
+
+class Gem::Ext::CmakeBuilder < Gem::Ext::Builder
+ def self.build(extension, directory, dest_path, results, args=[], lib_dir=nil)
+ unless File.exist?('Makefile') then
+ cmd = "cmake . -DCMAKE_INSTALL_PREFIX=#{dest_path}"
+ cmd << " #{Gem::Command.build_args.join ' '}" unless Gem::Command.build_args.empty?
+
+ run cmd, results
+ end
+
+ make dest_path, results
+
+ results
+ end
+end