summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2019-11-13 12:53:01 +0100
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-11-13 13:35:50 +0000
commit3919ed58abdd80ac7f964c91bead7bd8d4543079 (patch)
tree4b087b3c9c77276d9b945de1c80defc7e2f6dfc5 /util
parentc219aaf4d119d7114b9f366d43d3ff2700aaf4ad (diff)
Allow passing args from run_pro2cmake to pro2cmake
Change-Id: Ic874d4cd3488903ffec438f5c127b589e6371f7a Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'util')
-rwxr-xr-xutil/cmake/run_pro2cmake.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/util/cmake/run_pro2cmake.py b/util/cmake/run_pro2cmake.py
index eaece147d2..961e2931db 100755
--- a/util/cmake/run_pro2cmake.py
+++ b/util/cmake/run_pro2cmake.py
@@ -37,9 +37,11 @@ import argparse
from argparse import ArgumentParser
-def parse_command_line():
+def parse_command_line() -> argparse.Namespace:
parser = ArgumentParser(
- description="Run pro2cmake on all .pro files recursively in given path."
+ description="Run pro2cmake on all .pro files recursively in given path. "
+ "You can pass additional arguments to the pro2cmake calls by appending "
+ "-- --foo --bar"
)
parser.add_argument(
"--only-existing",
@@ -75,7 +77,16 @@ def parse_command_line():
"path", metavar="<path>", type=str, help="The path where to look for .pro files."
)
- return parser.parse_args()
+ args, unknown = parser.parse_known_args()
+
+ # Error out when the unknown arguments do not start with a "--",
+ # which implies passing through arguments to pro2cmake.
+ if len(unknown) > 0 and unknown[0] != "--":
+ parser.error("unrecognized arguments: {}".format(" ".join(unknown)))
+ else:
+ args.pro2cmake_args = unknown[1:]
+
+ return args
def find_all_pro_files(base_path: str, args: argparse.Namespace):
@@ -171,6 +182,10 @@ def run(all_files: typing.List[str], pro2cmake: str, args: argparse.Namespace) -
if args.skip_subdirs_projects:
pro2cmake_args.append("--skip-subdirs-project")
pro2cmake_args.append(os.path.basename(filename))
+
+ if args.pro2cmake_args:
+ pro2cmake_args += args.pro2cmake_args
+
result = subprocess.run(
pro2cmake_args,
cwd=os.path.dirname(filename),