aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Herrmann <adrian.herrmann@qt.io>2022-11-11 20:31:37 +0100
committerAdrian Herrmann <adrian.herrmann@qt.io>2022-11-16 11:50:30 +0100
commit72107fc39f15e3827297530dfad3c63f8e4ffcaa (patch)
tree13ec079799b75dfa32311c78e65a7dc900f196d7
parentd106f5811cb7d81a7ce45288ef555cab07aaded3 (diff)
Fix debug build problems on Win re: limited-api
There is a build error on Windows when limited-api=yes and debug where the linker does not know the right paths to look for libraries. Supporting this configuration is not desirable anyway because there are no released Python builds on Windows with this configuration. Therefore: 1. Display a warning to the user that the combination debug + limited=api=yes does not really "exist" if they choose it explicitly on Windows. 2. Have the default for debug builds be limited-api=no on Windows. Pick-to: 6.4 Change-Id: Ifed99f80abb02c9d512a1321526e949d56ff08a6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
-rw-r--r--build_scripts/main.py6
-rw-r--r--build_scripts/options.py5
2 files changed, 9 insertions, 2 deletions
diff --git a/build_scripts/main.py b/build_scripts/main.py
index 8c24ceb75..f1a151caa 100644
--- a/build_scripts/main.py
+++ b/build_scripts/main.py
@@ -683,10 +683,12 @@ class PysideBuild(_build, CommandMixin, BuildInfoCollectorMixin):
elif OPTION["LIMITED_API"] == "no":
cmake_cmd.append("-DFORCE_LIMITED_API=no")
elif not OPTION["LIMITED_API"]:
- pass
+ if sys.platform == 'win32' and self.debug:
+ cmake_cmd.append("-DFORCE_LIMITED_API=no")
else:
raise SetupError("option limited-api must be 'yes' or 'no' "
- "(default yes if applicable, i.e. python version >= 3.7)")
+ "(default yes if applicable, i.e. Python "
+ "version >= 3.7 and release build if on Windows)")
if OPTION["VERBOSE_BUILD"]:
cmake_cmd.append("-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON")
diff --git a/build_scripts/options.py b/build_scripts/options.py
index 08a2f8b9f..b00f1a1b8 100644
--- a/build_scripts/options.py
+++ b/build_scripts/options.py
@@ -517,4 +517,9 @@ class CommandMixin(object):
log.error("Option --jobs can only be used with jom on Windows.")
return False
+ if sys.platform == 'win32' and OPTION["LIMITED_API"] and self.debug:
+ log.error("It is not possible to make a debug build of PySide6 with limited API. "
+ "Please select a release build or disable limited API.")
+ return False
+
return True