From 032cb10444f786a7ed0a9321395f398c992eb15d Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Wed, 30 May 2018 23:56:01 +0200 Subject: Don't pass -DFORCE_LIMITED_API=yes from setup.py unless asked for It was weird seeing "-DFORCE_LIMITED_API=yes" being passed from setup.py to CMake when "--limited-api" is not included on the command line, and then seeing "-DFORCE_LIMITED_API=yes" with Python 2 builds. It gives the impression that maybe it could work with Python 2. Instead, don't pass "FORCE_LIMITED_API=yes" from setup.py by default (but still pass it if it's present on the command line), and instead default to "yes" within the CMake project themselves. In the end nothing changes, limited API builds will still be default, but at least it's not as confusing to see the "-DFORCE_LIMITED_API=yes" lines for Python 2 builds in the CI log. Change-Id: I08c863394dd148d88bec324a6cab35459d75303a Reviewed-by: Friedemann Kleint --- build_scripts/main.py | 6 ++++-- sources/pyside2/CMakeLists.txt | 2 +- sources/shiboken2/CMakeLists.txt | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/build_scripts/main.py b/build_scripts/main.py index b2dbc546e..9f7c4e4cc 100644 --- a/build_scripts/main.py +++ b/build_scripts/main.py @@ -962,13 +962,15 @@ class PysideBuild(_build): cmake_cmd.append("-DPYTHON_DEBUG_LIBRARY={}".format( self.py_library)) - if OPTION_LIMITED_API == "yes" or not OPTION_LIMITED_API: + if OPTION_LIMITED_API == "yes": cmake_cmd.append("-DFORCE_LIMITED_API=yes") elif OPTION_LIMITED_API == "no": cmake_cmd.append("-DFORCE_LIMITED_API=no") + elif not OPTION_LIMITED_API: + pass else: raise DistutilsSetupError("option limited-api must be 'yes' or 'no' " - "(default yes if applicable)") + "(default yes if applicable, i.e. python version >= 3.5)") if OPTION_VERBOSE_BUILD: cmake_cmd.append("-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON") diff --git a/sources/pyside2/CMakeLists.txt b/sources/pyside2/CMakeLists.txt index ee98d1d09..d5cf26612 100644 --- a/sources/pyside2/CMakeLists.txt +++ b/sources/pyside2/CMakeLists.txt @@ -90,7 +90,7 @@ else() set(PATH_SEP ":") endif() -option(FORCE_LIMITED_API "Enable the limited API." "no") +option(FORCE_LIMITED_API "Enable the limited API." "yes") set(PYTHON_LIMITED_API 0) if(FORCE_LIMITED_API STREQUAL "yes") diff --git a/sources/shiboken2/CMakeLists.txt b/sources/shiboken2/CMakeLists.txt index f3c586a9a..852e14c1a 100644 --- a/sources/shiboken2/CMakeLists.txt +++ b/sources/shiboken2/CMakeLists.txt @@ -234,7 +234,7 @@ if (NOT PYTHON_EXTENSION_SUFFIX) get_python_extension_suffix() endif() -option(FORCE_LIMITED_API "Enable the limited API." "no") +option(FORCE_LIMITED_API "Enable the limited API." "yes") set(PYTHON_LIMITED_API 0) # On Windows, PYTHON_LIBRARIES can be a list. Example: -- cgit v1.2.3