aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mesonmain.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2019-04-21 01:56:14 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2019-04-21 15:14:34 +0300
commit4e4f97edb3d475273108b203bc02b04bd6840b06 (patch)
treee64dc0d364002f35e019ec8978e444518f052a3c /mesonbuild/mesonmain.py
parentce160e1eab303eb2c876862d948497c0c10ef33a (diff)
downloadmeson-4e4f97edb3d475273108b203bc02b04bd6840b06.zip
meson-4e4f97edb3d475273108b203bc02b04bd6840b06.tar.gz
meson-4e4f97edb3d475273108b203bc02b04bd6840b06.tar.bz2
Can run argument strings with internal Python. Closes #5217.
Diffstat (limited to 'mesonbuild/mesonmain.py')
-rw-r--r--mesonbuild/mesonmain.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/mesonbuild/mesonmain.py b/mesonbuild/mesonmain.py
index 91a52b1..e7005e9 100644
--- a/mesonbuild/mesonmain.py
+++ b/mesonbuild/mesonmain.py
@@ -81,14 +81,18 @@ class CommandLineParser:
self.commands[i] = p
def add_runpython_arguments(self, parser):
+ parser.add_argument('-c', action='store_true', dest='eval_arg', default=False)
parser.add_argument('script_file')
parser.add_argument('script_args', nargs=argparse.REMAINDER)
def run_runpython_command(self, options):
import runpy
- sys.argv[1:] = options.script_args
- sys.path.insert(0, os.path.dirname(options.script_file))
- runpy.run_path(options.script_file, run_name='__main__')
+ if options.eval_arg:
+ exec(options.script_file)
+ else:
+ sys.argv[1:] = options.script_args
+ sys.path.insert(0, os.path.dirname(options.script_file))
+ runpy.run_path(options.script_file, run_name='__main__')
return 0
def add_help_arguments(self, parser):