Sha256: dfb12c584a3087875baa9129acc3c8dc8818899b2e5bb2ee962780ca13bab09f

Contents?: true

Size: 1.02 KB

Versions: 14

Compression:

Stored size: 1.02 KB

Contents

require 'mini_portile2/mini_portile'

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

  def configure_defaults
    if MiniPortile.mswin?
      ['-G', 'NMake Makefiles']
    elsif MiniPortile.mingw?
      ['-G', 'MSYS Makefiles']
    else
      []
    end
  end

  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

  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

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

Version data entries

14 entries across 11 versions & 4 rubygems

Version Path
tdiary-5.2.0 vendor/bundle/ruby/2.7.0/gems/mini_portile2-2.5.2/lib/mini_portile2/mini_portile_cmake.rb
tdiary-5.2.0 vendor/bundle/ruby/3.0.0/gems/mini_portile2-2.6.1/lib/mini_portile2/mini_portile_cmake.rb
date_n_time_picker_activeadmin-0.1.2 vendor/bundle/ruby/2.6.0/gems/mini_portile2-2.6.1/lib/mini_portile2/mini_portile_cmake.rb
date_n_time_picker_activeadmin-0.1.1 vendor/bundle/ruby/2.6.0/gems/mini_portile2-2.6.1/lib/mini_portile2/mini_portile_cmake.rb
tdiary-5.1.7 vendor/bundle/ruby/3.0.0/gems/mini_portile2-2.6.1/lib/mini_portile2/mini_portile_cmake.rb
tdiary-5.1.7 vendor/bundle/ruby/2.7.0/gems/mini_portile2-2.5.2/lib/mini_portile2/mini_portile_cmake.rb
mumukit-content-type-1.11.1 vendor/bundle/ruby/2.6.0/gems/mini_portile2-2.6.1/lib/mini_portile2/mini_portile_cmake.rb
mini_portile2-2.6.1 lib/mini_portile2/mini_portile_cmake.rb
mini_portile2-2.5.3 lib/mini_portile2/mini_portile_cmake.rb
mini_portile2-2.6.0 lib/mini_portile2/mini_portile_cmake.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/mini_portile2-2.5.2/lib/mini_portile2/mini_portile_cmake.rb
tdiary-5.1.6 vendor/bundle/ruby/3.0.0/gems/mini_portile2-2.5.2/lib/mini_portile2/mini_portile_cmake.rb
mini_portile2-2.5.2 lib/mini_portile2/mini_portile_cmake.rb
mini_portile2-2.5.1 lib/mini_portile2/mini_portile_cmake.rb