Conan: Don't add 'qt_host_path' automatically when cross-building

We tried to "help" the user by passing the value from -o 'qt_host_path'
into CMake '-DQT_HOST_PATH=...' automatically. This involved updating
the 'cmake_args_qtbase' option by the recipe.

This did not work well with Conan lock files as the alteration of any
option caused:

  ERROR: qtbase/6.3.1@qt/everywhere: qtserialport/6.3.1@qt/everywhere
    tried to change qtbase/6.3.1@qt/everywhere option cmake_args_qtbase
    to '...' but it was already assigned to '...'.

Remove the part where the 'cmake_args_qtbase' value is being altered
but keep it where it is being utilized when aggregating the virtualenv
attributes.

Pick-to: 6.3
Change-Id: Ib7fb1b7cf1b77ee4b5db5646d3be829bc3d1113f
Reviewed-by: Toni Saario <toni.saario@qt.io>
This commit is contained in:
Iikka Eklund 2022-06-01 12:48:08 +03:00
parent 0806d9799a
commit 003538a4f3

View File

@ -222,14 +222,6 @@ class QtBase(ConanFile):
else:
raise QtConanError("Unknown build_type: {0}".format(self.settings.build_type))
if tools.cross_building(conanfile=self):
# pass the QT_HOST_PATH as CMake argument so the user does not need to export it
cmake_args_qtbase = str(self.options.get_safe("cmake_args_qtbase", default=""))
formatted_cmake_args_qtbase = self._shared.append_cmake_arg(
cmake_args_qtbase, "QT_HOST_PATH", self._resolve_qt_host_path()
)
setattr(self.options, "cmake_args_qtbase", formatted_cmake_args_qtbase)
if self.settings.os == "Android":
if self.options.get_safe("android_sdk_version") == None:
cmake_args_qtbase = str(self.options.get_safe("cmake_args_qtbase"))