diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-09-29 20:09:02 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-09-29 20:09:02 +0300 |
commit | 03da2ef2b148d2658c06e5278eac35f743c1d00c (patch) | |
tree | c27df84c4fc0537cbe856a0ed7fd1d555c0e11b8 /mesongui.py | |
parent | afb66424e8a237a9878e85c93391f788bd98a28e (diff) | |
download | meson-03da2ef2b148d2658c06e5278eac35f743c1d00c.zip meson-03da2ef2b148d2658c06e5278eac35f743c1d00c.tar.gz meson-03da2ef2b148d2658c06e5278eac35f743c1d00c.tar.bz2 |
Can now generate a build from scratch using the GUI.
Diffstat (limited to 'mesongui.py')
-rwxr-xr-x | mesongui.py | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/mesongui.py b/mesongui.py index 2abf793..c126191 100755 --- a/mesongui.py +++ b/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() == '': |