summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2018-05-30 23:56:01 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2018-05-31 08:58:24 +0000
commit032cb10444f786a7ed0a9321395f398c992eb15d (patch)
tree9b8bc6fa3bd4411f19f70354b106dd3cb3fa041c
parentccddbd5f8e21e05290f04ac0bb2181d6cb90db49 (diff)
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 <Friedemann.Kleint@qt.io>
-rw-r--r--build_scripts/main.py6
-rw-r--r--sources/pyside2/CMakeLists.txt2
-rw-r--r--sources/shiboken2/CMakeLists.txt2
3 files changed, 6 insertions, 4 deletions
diff --git a/build_scripts/main.py b/build_scripts/main.py
index b2dbc546..9f7c4e4c 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 ee98d1d0..d5cf2661 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 f3c586a9..852e14c1 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: