QtPDF Build Instructions: Difference between revisions
(Created page with "QtPDF is provided via [https://marketplace.qt.io/products/qtpdf Marketplace] for convenience; but you can also build it yourself from the qtwebengine repo. <code> $ git clone...") |
No edit summary |
||
Line 1: | Line 1: | ||
QtPDF | QtPDF binaries are provided via [https://marketplace.qt.io/products/qtpdf Marketplace] for convenience; but you can also build it yourself from the qtwebengine repo. | ||
== Building the current version == | |||
<code> | <code> | ||
$ git clone https://code.qt.io/qt/qtwebengine.git | $ git clone https://code.qt.io/qt/qtwebengine.git | ||
Line 82: | Line 83: | ||
Examples are in examples/pdf and examples/pdfwidgets. | Examples are in examples/pdf and examples/pdfwidgets. | ||
== Historical repository == | |||
The older version in the [https://code.qt.io/cgit/qt-labs/qtpdf.git/ Qt Labs QtPDF repository] still exists, but development now continues in the [https://code.qt.io/cgit/qt/qtwebengine.git/tree/src/pdf qtwebengine repository]. This was prompted mainly by the upstream Chromium switch of build system from gyp to gn system: it was some work to get qtwebengine building with that. Chromium (and thus Qt WebEngine) include PDFium already; so it was easier to build QtPDF from there than to fix the build in the other repository. |
Revision as of 13:37, 28 May 2020
QtPDF binaries are provided via Marketplace for convenience; but you can also build it yourself from the qtwebengine repo.
Building the current version
$ git clone https://code.qt.io/qt/qtwebengine.git
$ cd qtwebengine
$ git submodule update --init --recursive
$ qmake . -- -no-build-qtwebengine-core
Info: creating stash file /home/myname/dev/qtwebengine/.qmake.stash
Info: creating cache file /home/myname/dev/qtwebengine/.qmake.cache
Running configuration tests...
Checking for architecture supported... yes
... (many more tests)
Done running configuration tests.
Configure summary:
Qt WebEngine Build Tools:
Use System Ninja ....................... yes
Use System Gn .......................... no
Jumbo Build Merge Limit ................ 8
Developer build ........................ no
QtWebEngine required system libraries:
fontconfig ........................... yes
dbus ................................. yes
nss .................................. yes
khr .................................. yes
glibc ................................ yes
QtWebEngine required system libraries for qpa-xcb:
x11 .................................. yes
libdrm ............................... yes
xcomposite ........................... yes
xcursor .............................. yes
xi ................................... yes
xtst ................................. yes
Optional system libraries used:
re2 .................................. yes
icu .................................. no
libwebp, libwebpmux and libwebpdemux . yes
opus ................................. yes
ffmpeg ............................... no
libvpx ............................... yes
snappy ............................... yes
glib ................................. yes
zlib ................................. yes
minizip .............................. yes
libevent ............................. yes
jsoncpp .............................. yes
protobuf ............................. yes
libxml2 and libxslt .................. yes
lcms2 ................................ yes
png .................................. yes
JPEG ................................. yes
harfbuzz ............................. yes
freetype ............................. yes
xkbcommon ............................ yes
Qt PDF:
Support V8 ............................. no
Support XFA ............................ no
Support XFA-BMP ........................ no
Support XFA-GIF ........................ no
Support XFA-PNG ........................ no
Support XFA-TIFF ....................... no
Qt PDF Widgets:
Support Qt PDF Widgets ................. yes
Note: QtWebEngine build is disabled by user.
Note: The following modules are not being compiled in this configuration:
webenginecore
webengine
webenginewidgets
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/usr'.
$ make && make install
First it builds tools if necessary (gn and ninja), then QtPDF. (If you don't give the -no-build-qtwebengine-core argument, it will spend a lot of time building QtWebEngine before building QtPDF.)
Examples are in examples/pdf and examples/pdfwidgets.
Historical repository
The older version in the Qt Labs QtPDF repository still exists, but development now continues in the qtwebengine repository. This was prompted mainly by the upstream Chromium switch of build system from gyp to gn system: it was some work to get qtwebengine building with that. Chromium (and thus Qt WebEngine) include PDFium already; so it was easier to build QtPDF from there than to fix the build in the other repository.