Class: MiniPortileCMake

Inherits:
MiniPortile show all
Defined in:
lib/mini_portile2/mini_portile_cmake.rb

Constant Summary

Constants inherited from MiniPortile

MiniPortile::VERSION

Instance Attribute Summary

Attributes inherited from MiniPortile

#configure_options, #files, #host, #logger, #name, #original_host, #patch_files, #target, #version

Instance Method Summary collapse

Methods inherited from MiniPortile

#activate, #apply_patch, #compile, #cook, #download, #downloaded?, #extract, #initialize, #install, #installed?, #patch, #path, windows?

Constructor Details

This class inherits a constructor from MiniPortile

Instance Method Details

#configureObject



16
17
18
19
20
21
22
23
# File 'lib/mini_portile2/mini_portile_cmake.rb', line 16

def configure
  return if configured?

  cache_file = File.join(tmp_path, 'configure.options_cache')
  File.open(cache_file, "w") { |f| f.write computed_options.to_s }

  execute('configure', %w(cmake) + computed_options + ["."])
end

#configure_defaultsObject



8
9
10
11
12
13
14
# File 'lib/mini_portile2/mini_portile_cmake.rb', line 8

def configure_defaults
  if MiniPortile.windows?
    ['-G "NMake Makefiles"']
  else
    []
  end
end

#configure_prefixObject



4
5
6
# File 'lib/mini_portile2/mini_portile_cmake.rb', line 4

def configure_prefix
  "-DCMAKE_INSTALL_PREFIX=#{File.expand_path(port_path)}"
end

#configured?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
31
32
33
34
# File 'lib/mini_portile2/mini_portile_cmake.rb', line 25

def configured?
  configure = File.join(work_path, 'configure')
  makefile  = File.join(work_path, 'CMakefile')
  cache_file  = File.join(tmp_path, 'configure.options_cache')

  stored_options  = File.exist?(cache_file) ? File.read(cache_file) : ""
  current_options = computed_options.to_s

  (current_options == stored_options) && newer?(makefile, configure)
end

#make_cmdObject



36
37
38
39
# File 'lib/mini_portile2/mini_portile_cmake.rb', line 36

def make_cmd
  return "nmake" if MiniPortile.windows?
  super
end