Conan: Rename 'extra_cmake_args' Conan option as 'cmake_args_qtbase'

It turns out that we need to support two ways to pass cmake args as
Conan options. Those that are meant for qtbase only,
like "-DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}", and those
that are meant for leaf modules only.

Rename the current 'extra_cmake_args' Conan recipe option as
'cmake_args_qtbase' to make it clear these cmake args are passed
to qtbase build only.

The leaf modules will be using 'cmake_args_leaf_module' as the
Conan option name.

Change-Id: I456b8b07da5684f386cac668a5cd3e2509c733ac
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 83752fcd2b8104df8d17f24640c14a307eac46fa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Iikka Eklund 2021-08-24 21:27:00 +03:00 committed by Qt Cherry-pick Bot
parent 590d3f8e1e
commit 2177ada794

View File

@ -124,8 +124,8 @@ class QtOptionParser:
def __init__(self) -> None:
self.options: List[QtConfigureOption] = []
self.load_configure_options()
self.extra_options: Dict[str, Any] = {"extra_cmake_args": "ANY"}
self.extra_options_default_values = {"extra_cmake_args": None}
self.extra_options: Dict[str, Any] = {"cmake_args_qtbase": "ANY"}
self.extra_options_default_values = {"cmake_args_qtbase": None}
def load_configure_options(self) -> None:
"""Read the configure options and features dynamically via configure(.bat).
@ -315,10 +315,10 @@ class QtOptionParser:
qt_options.append(qt_option)
return qt_options
def get_extra_cmake_args_for_configure(self, conan_options: Options) -> List[Optional[str]]:
def get_cmake_args_for_configure(self, conan_options: Options) -> List[Optional[str]]:
ret: List[Optional[str]] = []
for option_name, option_value in conan_options.items():
if option_name == "extra_cmake_args" and self.is_used_option(option_value):
if option_name == "cmake_args_qtbase" and self.is_used_option(option_value):
ret = [ret for ret in option_value.strip(r" '\"").split()]
return ret
@ -334,7 +334,7 @@ def _build_qtbase(conan_file: ConanFile):
cmd = " ".join(
[str(configure), " ".join(qt_configure_options), "-prefix", conan_file.package_folder]
)
cmake_args = parser.get_extra_cmake_args_for_configure(conan_file.options)
cmake_args = parser.get_cmake_args_for_configure(conan_file.options)
if cmake_args:
cmd += f" -- {' '.join(cmake_args)}"
conan_file.output.info(f"Calling: {cmd}")