QtWebEngine/How to Try: Difference between revisions
Kevin Funk (talk | contribs) (Ubuntu packages: ninja -> ninja-build) |
(codeblock) |
||
(14 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
{{LangSwitch}} | {{LangSwitch}}The QtWebEngine can't be build statically. When a static build is started it will just skip over this part with the message "Static builds of QtWebEngine aren't supported." and continue with the build. | ||
[[Category:Developing with Qt::QtWebEngine]] | [[Category:Developing with Qt::QtWebEngine]] | ||
== Get the code == | == Get the code == | ||
Line 7: | Line 7: | ||
== Building QtWebengine == | == Building QtWebengine == | ||
[ | [https://doc.qt.io/qt-5/windows-requirements.html For Windows see here] | ||
While this is hidden away in our build system, the build relies on gyp and ninja (fetched along with the chromium sources) to build chromium, hence a build dependency to python, in addition to the usual Qt5 suspects. You currently need at least Qt 5.4 to build QtWebEngine. | While this is hidden away in our build system, the build relies on gyp and ninja (fetched along with the chromium sources) to build chromium, hence a build dependency to python, in addition to the usual Qt5 suspects. You currently need at least Qt 5.4 to build QtWebEngine. | ||
Note: That in case you have the 64-bit Linux host, you need to install an adidtional 32-bit multilib packages (at least: linux-libc-dev:i386, linux-headers-xxx:i386). | |||
=== Installing dependencies on Ubuntu === | === Installing dependencies on Ubuntu === | ||
<code> | <code> | ||
sudo apt-get install bison build-essential gperf flex | sudo apt-get install bison build-essential gperf flex python2 libasound2-dev \ | ||
libcups2-dev libdrm-dev libegl1-mesa | libcups2-dev libdrm-dev libegl1-mesa-dev libnss3-dev libpci-dev libpulse-dev libudev-dev nodejs \ | ||
libxtst-dev gyp ninja-build</code> | libxtst-dev gyp ninja-build</code> | ||
=== Installing additional dependencies on Ubuntu | === Installing additional dependencies on Ubuntu 20.04+ === | ||
<code> | ''(To save a bit time compiling the bundled variants from qtwebengine.git)''<code> | ||
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev \ | sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev \ | ||
libfontconfig1-dev libxss-dev</code> | libfontconfig1-dev libxss-dev libsrtp0-dev libwebp-dev libjsoncpp-dev libopus-dev libminizip-dev \ | ||
libavutil-dev libavformat-dev libavcodec-dev libevent-dev libvpx-dev libsnappy-dev libre2-dev libprotobuf-dev protobuf-compiler</code> | |||
Please note that these libraries need to be installed on other distributions as well, though the package names and the set of libraries that are preinstalled may differ depending on the distribution used. | Please note that these libraries need to be installed on other distributions as well, though the package names and the set of libraries that are preinstalled may differ depending on the distribution used. | ||
Line 32: | Line 35: | ||
</code> | </code> | ||
To build a release build (generally recommended) do: | To build a release build (generally recommended) do:<syntaxhighlight lang="bash"> | ||
qmake -r CONFIG+=release | qmake -r CONFIG+=release | ||
</syntaxhighlight> | |||
=== Installing dependencies on openSUSE === | |||
<code> | |||
sudo zypper install Mesa-libEGL-devel libgcrypt-devel libgcrypt20 pciutils-devel xmlsec1-nss-devel libXtst-devel gperf cups-devel libpulse-devel pulseaudio-qt-devel libgudev-1_0-devel systemd-devel libcap-devel alsa-lib-devel flex bison ruby nodejs17 nodejs17-devel nodejs-common npm17 libqt5-qtsvg-devel libqt5-qtsvg-private-headers-devel | |||
</code> | |||
=== Building === | === Building === | ||
Line 41: | Line 50: | ||
git submodule update --init | git submodule update --init | ||
</code> | </code> | ||
Ensure that your $PATH points to a python version 2 binary. Many systems these days use python 3 by default. | |||
Make: | Make: |
Latest revision as of 11:07, 8 November 2023
En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh
The QtWebEngine can't be build statically. When a static build is started it will just skip over this part with the message "Static builds of QtWebEngine aren't supported." and continue with the build.
Get the code
The source code for QtWebEngine can be found at http://code.qt.io/cgit/qt/qtwebengine.git/ .
Building QtWebengine
While this is hidden away in our build system, the build relies on gyp and ninja (fetched along with the chromium sources) to build chromium, hence a build dependency to python, in addition to the usual Qt5 suspects. You currently need at least Qt 5.4 to build QtWebEngine.
Note: That in case you have the 64-bit Linux host, you need to install an adidtional 32-bit multilib packages (at least: linux-libc-dev:i386, linux-headers-xxx:i386).
Installing dependencies on Ubuntu
sudo apt-get install bison build-essential gperf flex python2 libasound2-dev \
libcups2-dev libdrm-dev libegl1-mesa-dev libnss3-dev libpci-dev libpulse-dev libudev-dev nodejs \
libxtst-dev gyp ninja-build
Installing additional dependencies on Ubuntu 20.04+
(To save a bit time compiling the bundled variants from qtwebengine.git)
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev \
libfontconfig1-dev libxss-dev libsrtp0-dev libwebp-dev libjsoncpp-dev libopus-dev libminizip-dev \
libavutil-dev libavformat-dev libavcodec-dev libevent-dev libvpx-dev libsnappy-dev libre2-dev libprotobuf-dev protobuf-compiler
Please note that these libraries need to be installed on other distributions as well, though the package names and the set of libraries that are preinstalled may differ depending on the distribution used.
Installing dependencies on Fedora
sudo yum install "qt5-*"
sudo yum install mesa-libEGL-devel libgcrypt-devel libgcrypt pciutils-devel nss-devel libXtst-devel gperf
cups-devel pulseaudio-libs-devel libgudev1-devel systemd-devel libcap-devel alsa-lib-devel flex bison ruby
To build a release build (generally recommended) do:
qmake -r CONFIG+=release
Installing dependencies on openSUSE
sudo zypper install Mesa-libEGL-devel libgcrypt-devel libgcrypt20 pciutils-devel xmlsec1-nss-devel libXtst-devel gperf cups-devel libpulse-devel pulseaudio-qt-devel libgudev-1_0-devel systemd-devel libcap-devel alsa-lib-devel flex bison ruby nodejs17 nodejs17-devel nodejs-common npm17 libqt5-qtsvg-devel libqt5-qtsvg-private-headers-devel
Building
In case you cloned Qt WebEngine as a separate module from git, you might need to initialize out the src/3rdparty submodule that contains the Chromium and Ninja code:
cd qtwebengine
git submodule update --init
Ensure that your $PATH points to a python version 2 binary. Many systems these days use python 3 by default.
Make:
qmake -r
make
sudo make install