summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2019-11-11 19:31:31 +0100
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-11-12 10:13:24 +0000
commitd7c4fa46ac3565a11787e5d12b3d190f54108ff9 (patch)
treeb8218ba589efa62360c788937ecf53ecc2cf5a53 /util
parentc1e0e0adb2fb5c62f4d1677a85c677c57e2737f3 (diff)
pro2cmake: Allow skipping subdirs projects via command line
Pass either --skip-subdirs-project to pro2cmake or --skip-subdirs-projects to run_pro2cmake. Change-Id: Ic444858f6fc6deb3c893782c0770993aa39d5579 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'util')
-rwxr-xr-xutil/cmake/pro2cmake.py20
-rwxr-xr-xutil/cmake/run_pro2cmake.py8
2 files changed, 28 insertions, 0 deletions
diff --git a/util/cmake/pro2cmake.py b/util/cmake/pro2cmake.py
index b95b469e37..536bbdc656 100755
--- a/util/cmake/pro2cmake.py
+++ b/util/cmake/pro2cmake.py
@@ -156,6 +156,13 @@ def _parse_commandline():
)
parser.add_argument(
+ "--skip-subdirs-project",
+ dest="skip_subdirs_project",
+ action="store_true",
+ help="Skip converting project if it ends up being a TEMPLATE=subdirs project.",
+ )
+
+ parser.add_argument(
"-i",
"--ignore-skip-marker",
dest="ignore_skip_marker",
@@ -3485,6 +3492,15 @@ def should_convert_project(project_file_path: str = "", ignore_skip_marker: bool
return True
+def should_convert_project_after_parsing(
+ file_scope: Scope, skip_subdirs_project: bool = False
+) -> bool:
+ template = file_scope.TEMPLATE
+ if template == "subdirs" and skip_subdirs_project:
+ return False
+ return True
+
+
def main() -> None:
# Be sure of proper Python version
assert sys.version_info >= (3, 7)
@@ -3535,6 +3551,10 @@ def main() -> None:
file_scope.dump()
print("\n#### End of full .pro/.pri file structure.\n")
+ if not should_convert_project_after_parsing(file_scope, args.skip_subdirs_project):
+ print(f'Skipping conversion of project: "{project_file_absolute_path}"')
+ continue
+
generate_new_cmakelists(file_scope, is_example=args.is_example, debug=args.debug)
copy_generated_file = True
diff --git a/util/cmake/run_pro2cmake.py b/util/cmake/run_pro2cmake.py
index 7c38a8aef9..eaece147d2 100755
--- a/util/cmake/run_pro2cmake.py
+++ b/util/cmake/run_pro2cmake.py
@@ -60,6 +60,12 @@ def parse_command_line():
help="Run pro2cmake only on the main modules in qtbase.",
)
parser.add_argument(
+ "--skip-subdirs-projects",
+ dest="skip_subdirs_projects",
+ action="store_true",
+ help="Don't run pro2cmake on TEMPLATE=subdirs projects.",
+ )
+ parser.add_argument(
"--is-example",
dest="is_example",
action="store_true",
@@ -162,6 +168,8 @@ def run(all_files: typing.List[str], pro2cmake: str, args: argparse.Namespace) -
pro2cmake_args.append(pro2cmake)
if args.is_example:
pro2cmake_args.append("--is-example")
+ if args.skip_subdirs_projects:
+ pro2cmake_args.append("--skip-subdirs-project")
pro2cmake_args.append(os.path.basename(filename))
result = subprocess.run(
pro2cmake_args,