Can now generate a build from scratch using the GUI.

pull/15/head
Jussi Pakkanen 12 years ago
parent afb66424e8
commit 03da2ef2b1
  1. 19
      mesongui.py

@ -273,10 +273,13 @@ class ProcessRunner():
self.process.readyRead.connect(self.read_data)
self.process.finished.connect(self.finished)
self.ui.termbutton.clicked.connect(self.terminated)
self.return_value = 100
def run(self):
self.process.start(self.cmdlist[0], self.cmdlist[1:])
self.timer.start()
self.start_time = time.time()
self.ui.exec()
return self.ui.exec()
def read_data(self):
while(self.process.canReadLine()):
@ -287,16 +290,17 @@ class ProcessRunner():
self.read_data()
self.ui.termbutton.setText('Done')
self.timer.stop()
self.return_value = self.process.exitCode()
def terminated(self, foo):
self.process.kill()
self.timer.stop()
self.ui.done(0)
self.ui.done(self.return_value)
def timeout(self):
now = time.time()
duration = int(now - self.start_time)
msg = 'Compile time: %d:%d' % (duration // 60, duration % 60)
msg = 'Elapsed time: %d:%d' % (duration // 60, duration % 60)
self.ui.timelabel.setText(msg)
class MesonGui():
@ -357,6 +361,7 @@ class MesonGui():
def run_process(self, cmdlist):
cmdlist = [shutil.which(environment.detect_ninja())] + cmdlist
dialog = ProcessRunner(self.build.environment.build_dir, cmdlist)
dialog.run()
def compile(self, foo):
self.run_process([])
@ -395,6 +400,14 @@ class Starter():
def generate(self):
srcdir = self.ui.source_entry.text()
builddir = self.ui.build_entry.text()
cross = self.ui.cross_entry.text()
cmdlist = [os.path.join(os.path.split(__file__)[0], 'meson.py'), srcdir, builddir]
if cross != '':
cmdlist += ['--cross', cross]
pr = ProcessRunner(os.getcwd(), cmdlist)
rvalue = pr.run()
if rvalue == 0:
os.execl(__file__, 'dummy', builddir)
def update_button(self):
if self.ui.source_entry.text() == '' or self.ui.build_entry.text() == '':

Loading…
Cancel
Save