diff options
Diffstat (limited to 'mach')
| -rwxr-xr-x | mach | 33 | 
1 files changed, 18 insertions, 15 deletions
| @@ -4,11 +4,10 @@  require 'optparse'  options = { -    :settings => "#{ENV['HOME']}/.config/QtProject/qbs/1.7.1", +    :settingsDir => "../build/config",      :profile => 'qt5', +    :build => 'release',      :buildDir => '../build', -    :installDir => '/usr/local', -    :email => 'xian.nox@gmail.com'  }  OptionParser.new do |opts| @@ -17,7 +16,7 @@ OptionParser.new do |opts|      opts.on("-h", "--help", "Prints this help") do          puts opts          puts "Options: #{options}" -        puts 'Commands: run, clean, build, install, tarball' +        puts 'Commands: setup, run, clean, build'          exit      end @@ -33,25 +32,28 @@ OptionParser.new do |opts|          options[:installDir] = dir      end +    opts.on("--debug", "Debug build") do +	options[:build] = 'debug' +    end + +    opts.on("--release", "Release build") do +	options[:build] = 'release' +    end +  end.parse!  if not ARGV.empty? then      ARGV.each do|arg|          case arg +	when 'setup' +	    system "qbs-setup-toolchains --settings-dir #{options[:settingsDir]} --detect" +	    system "qbs-setup-qt --settings-dir #{options[:settingsDir]} /usr/bin/qmake-qt5 #{options[:profile]}"          when 'run' -            system "qbs run -d #{options[:buildDir]} -p poi profile:#{options[:profile]} release" +            system "qbs run --settings-dir #{options[:settingsDir]} -d #{options[:buildDir]} -p poi profile:#{options[:profile]} #{options[:build]}"          when 'clean' -            system "qbs clean -d #{options[:buildDir]} profile:#{options[:profile]} release" +            system "qbs clean --settings-dir #{options[:settingsDir]} -d #{options[:buildDir]} profile:#{options[:profile]} #{options[:build]}"          when 'build' -            system "qbs build -d #{options[:buildDir]} --force-probe-execution profile:#{options[:profile]} release" -        when 'install' -            system "sudo qbs install -d #{options[:buildDir]} --no-build --install-root #{options[:installDir]} --settings-dir #{options[:settings]} profile:#{options[:profile]} release" -        when 'tarball' -            filename = "smolbote-#{`git describe --tags`}.tar.lz".gsub("\n", '') -            system "tar -I\"lzip -9\" -cf #{filename} --directory=#{options[:buildDir]}/release/install-root . --owner=user:1000 --group=users:1000" -            system "gpg -u #{options[:email]} -b #{filename}" -            system "gpg -u #{options[:email]} -b --armor #{filename}" -            system "sha512sum --binary #{filename}* > #{filename}.sha512" +            system "qbs build --settings-dir #{options[:settingsDir]} -d #{options[:buildDir]} --force-probe-execution profile:#{options[:profile]} #{options[:build]}"          else              puts "Unknown argument #{arg}; use ./mach -h for more details"          end @@ -60,3 +62,4 @@ if not ARGV.empty? then  else      puts 'No arguments; use ./mach -h for more details'  end + | 
