aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristián Maureira-Fredes <Cristian.Maureira-Fredes@qt.io>2022-08-08 17:50:05 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-09-01 19:29:38 +0000
commit1249a264d86d6c91421938a3a5dd66d4d9ebeb8d (patch)
tree316ae45c39b77af85f20a452c606b2da2453770f
parent24d0ae35ab5fcfb0cebd1cb8c47795ba21ce6116 (diff)
doc: add section for cmake-only build
Adding notes for the recommendation related to building and packaging pyside and shiboken for different scenarios, besides Python wheels, using a CMake. Fixes: PYSIDE-2005 Change-Id: I02a45c92dc339a32fddb4b2a0de87a5c61483931 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 4cfa700d5965922b5156517a64790369deac354f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--sources/pyside6/doc/gettingstarted-linux.rst46
1 files changed, 38 insertions, 8 deletions
diff --git a/sources/pyside6/doc/gettingstarted-linux.rst b/sources/pyside6/doc/gettingstarted-linux.rst
index 8db657dac..900da999e 100644
--- a/sources/pyside6/doc/gettingstarted-linux.rst
+++ b/sources/pyside6/doc/gettingstarted-linux.rst
@@ -37,12 +37,12 @@ variable required::
7z x libclang-release_100-based-linux-Rhel7.6-gcc5.3-x86_64.7z
export LLVM_INSTALL_DIR=$PWD/libclang
-Getting PySide
-~~~~~~~~~~~~~~
+Getting the source
+~~~~~~~~~~~~~~~~~~
Cloning the official repository can be done by::
- git clone --recursive https://code.qt.io/pyside/pyside-setup
+ git clone https://code.qt.io/pyside/pyside-setup
Checking out the version that we want to build, for example 6.0::
@@ -56,8 +56,11 @@ Install the general dependencies::
Additionally, :command:`git checkout -b 6.0 --track origin/6.0` could be a better option
in case you want to work on it.
-Building PySide
-~~~~~~~~~~~~~~~
+Building and Installing (setuptools)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The `setuptools` approach uses the `setup.py` file to execute the build,
+install, and packaging steps.
Check your Qt installation path, to specifically use that version of qtpaths to build PySide.
for example, :command:`/opt/Qt/6.0.0/gcc_64/bin/qtpaths`.
@@ -66,13 +69,40 @@ Build can take a few minutes, so it is recommended to use more than one CPU core
python setup.py build --qtpaths=/opt/Qt/6.0.0/gcc_64/bin/qtpaths --build-tests --ignore-git --parallel=8
-Installing PySide
-~~~~~~~~~~~~~~~~~
-
To install on the current directory, just run::
python setup.py install --qtpaths=/opt/Qt/6.0.0/gcc_64/bin/qtpaths --build-tests --ignore-git --parallel=8
+Building and Installing (cmake)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The `setuptools` approach includes internal `CMake` calls when
+building and installing the project, but a CMake-only approach is only
+recommended for packaging the project for distribution builds.
+
+Assumming that Qt is in PATH, for example, the configure step can be done with::
+
+ cmake -B /path/to/the/build/directory \
+ -S /path/to/the/pyside-setup \
+ -DCMAKE_INSTALL_PREFIX=/where/to/install \
+ -DPYTHON_EXECUTABLE=/path/to/interpreter
+
+.. note:: You can add `-DFORCE_LIMITED_API=yes` in case you want to have a
+ build which will be compatible with Python 3.7+.
+
+and then for building::
+
+ cmake --build /path/to/the/build/directory --parallel X
+
+where `X` is the amount of processes you want to use.
+Finally, the install step can be done with::
+
+ cmake --install /path/to/the/build/directory
+
+.. note:: You can build only pyside6 or only shiboken6 by using
+ the diferent source directories with the option `-S`.
+
+
Test installation
~~~~~~~~~~~~~~~~~