diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2019-04-21 01:56:14 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-04-21 15:14:34 +0300 |
commit | 4e4f97edb3d475273108b203bc02b04bd6840b06 (patch) | |
tree | e64dc0d364002f35e019ec8978e444518f052a3c /mesonbuild/mesonmain.py | |
parent | ce160e1eab303eb2c876862d948497c0c10ef33a (diff) | |
download | meson-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.py | 10 |
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): |