diff options
author | Adrian Herrmann <adrian.herrmann@qt.io> | 2022-11-11 20:31:37 +0100 |
---|---|---|
committer | Adrian Herrmann <adrian.herrmann@qt.io> | 2022-11-16 11:50:30 +0100 |
commit | 72107fc39f15e3827297530dfad3c63f8e4ffcaa (patch) | |
tree | 13ec079799b75dfa32311c78e65a7dc900f196d7 | |
parent | d106f5811cb7d81a7ce45288ef555cab07aaded3 (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.py | 6 | ||||
-rw-r--r-- | build_scripts/options.py | 5 |
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 |