2011-07-05 01:37:55 +00:00
|
|
|
HOW TO BUILD QT5
|
|
|
|
================
|
2011-04-28 13:16:48 +00:00
|
|
|
|
|
|
|
|
2011-07-05 01:37:55 +00:00
|
|
|
Synopsis
|
|
|
|
========
|
2011-04-28 13:16:48 +00:00
|
|
|
|
2012-08-24 15:21:36 +00:00
|
|
|
System requirements
|
|
|
|
------------------
|
|
|
|
|
|
|
|
- Perl 5.8 or later
|
|
|
|
- Python 2.7 or later
|
|
|
|
- C++ compiler supporting the C++98 standard
|
|
|
|
|
|
|
|
For other platform specific requirements,
|
|
|
|
please see section "Setting up your machine" on:
|
|
|
|
http://qt-project.org/wiki/Get_The_Source
|
|
|
|
|
|
|
|
Optional requirements
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
- OpenSSL for SSL sockets or HTTPS
|
|
|
|
- Wayland
|
2011-05-10 08:41:41 +00:00
|
|
|
|
2012-03-15 09:23:04 +00:00
|
|
|
New dependencies in Qt 5
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
Linux: On systems running X11, the XCB libraries are required for
|
|
|
|
the platform plugin to build. qtbase/src/plugins/platforms/xcb/README
|
|
|
|
lists the required packages.
|
|
|
|
|
|
|
|
Qt 5 can make use of the ICU libraries providing Unicode and Globalization
|
|
|
|
support (see http://site.icu-project.org/). They are required for building
|
|
|
|
QtWebKit.
|
|
|
|
On Linux, they will be auto-detected.
|
|
|
|
On Windows, they need to be manually installed and the "include" and "lib"
|
|
|
|
folders of the ICU installation must be appended to the INCLUDE and LIB
|
|
|
|
environment variables after calling the Windows SDK setup script.
|
|
|
|
The "bin" folder of the ICU installation should be appended to the PATH
|
|
|
|
environment variable in order to for the DLLs to be found at run-time.
|
|
|
|
|
|
|
|
Linux, Mac:
|
|
|
|
-----------
|
|
|
|
|
|
|
|
cd <path>/qt-everywhere-opensource-src-<version>
|
|
|
|
./configure -prefix $PWD/qtbase -opensource -nomake tests
|
2012-09-18 19:02:32 +00:00
|
|
|
make -j 4
|
2012-03-15 09:23:04 +00:00
|
|
|
|
|
|
|
Windows:
|
|
|
|
--------
|
|
|
|
|
|
|
|
Open a Windows SDK (7.0, 7.1 or later) command prompt. Ensure that Perl
|
|
|
|
version 5.12 or later and Python version 2.7 or later can be found in the
|
|
|
|
path.
|
|
|
|
|
|
|
|
cd <path>\qt-everywhere-opensource-src-<version>
|
|
|
|
configure -prefix %CD%\qtbase -opensource -nomake tests
|
2012-09-18 19:02:32 +00:00
|
|
|
nmake // jom // mingw32-make
|
2012-03-15 09:23:04 +00:00
|
|
|
|
|
|
|
For MinGW (gcc version 4.6 or later), ensure that the compiler can
|
|
|
|
be found in the path.
|
2011-05-10 08:41:41 +00:00
|
|
|
|
2012-09-18 19:02:32 +00:00
|
|
|
To accelerate the bootstrap of qmake with MSVC, it may be useful to pass
|
|
|
|
"-make-tool jom" on the configure command line. If you do not use jom,
|
|
|
|
adding "/MP" to the CL environment variable is a good idea.
|
2012-03-28 10:48:40 +00:00
|
|
|
|
2011-07-05 01:37:55 +00:00
|
|
|
More details follow.
|
2011-05-10 08:41:41 +00:00
|
|
|
|
2011-07-05 01:37:55 +00:00
|
|
|
Build!
|
|
|
|
======
|
|
|
|
|
|
|
|
A typical `configure; make' build process is used.
|
|
|
|
|
2012-03-15 09:23:04 +00:00
|
|
|
Some relevant configure options (see configure -help):
|
|
|
|
|
|
|
|
-release Compile and link Qt with debugging turned off.
|
|
|
|
-debug Compile and link Qt with debugging turned on.
|
|
|
|
-nomake tests Disable building of tests to speed up compilation
|
|
|
|
-nomake examples Disable building of examples to speed up compilation
|
|
|
|
-confirm-license Automatically acknowledge the LGPL 2.1 license.
|
|
|
|
|
2011-07-05 01:37:55 +00:00
|
|
|
Example for a release build:
|
|
|
|
(adjust the `-jN' parameter as appropriate for your system)
|
|
|
|
|
2012-01-03 11:53:39 +00:00
|
|
|
./configure -prefix $PWD/qtbase -opensource
|
2011-07-05 01:37:55 +00:00
|
|
|
make -j4
|
|
|
|
|
2012-01-03 11:16:37 +00:00
|
|
|
Example for a developer build:
|
|
|
|
(enables more autotests, builds debug version of libraries, ...)
|
2011-07-05 01:37:55 +00:00
|
|
|
|
2012-01-03 11:53:39 +00:00
|
|
|
./configure -developer-build -opensource
|
2011-07-05 01:37:55 +00:00
|
|
|
make -j4
|
|
|
|
|
|
|
|
See output of `./configure -help' for documentation on various options to
|
|
|
|
configure.
|
|
|
|
|
|
|
|
The above examples will build whatever Qt5 modules have been enabled by
|
|
|
|
default in the build system.
|
|
|
|
|
|
|
|
It is possible to build selected modules with their dependencies by doing
|
|
|
|
a `make module-<foo>'. For example, to build only qtscript and qtwebkit,
|
|
|
|
and the modules they depend on:
|
|
|
|
|
2012-01-03 11:53:39 +00:00
|
|
|
./configure -prefix $PWD/qtbase -opensource
|
2011-07-05 01:37:55 +00:00
|
|
|
make -j4 module-qtscript module-qtwebkit
|
|
|
|
|
|
|
|
This can save a lot of time if you are only interested in a subset of Qt5.
|
|
|
|
|
|
|
|
|
|
|
|
Hints
|
|
|
|
=====
|
|
|
|
|
2012-03-15 09:23:04 +00:00
|
|
|
The submodule repository qtrepotools contains useful scripts for
|
|
|
|
developers and release engineers. Consider adding qtrepotools/bin
|
|
|
|
to your PATH environment variable to access them.
|
2012-01-03 11:53:39 +00:00
|
|
|
|
2011-07-05 01:37:55 +00:00
|
|
|
The qt5_tool in qtrepotools has some more features which may be of interest.
|
|
|
|
Try `qt5_tool --help'.
|
2012-08-24 15:21:36 +00:00
|
|
|
|
|
|
|
|
|
|
|
Building Qt5 from git
|
|
|
|
=====================
|
|
|
|
See http://qt-project.org/wiki/Building-Qt-5-from-Git and README.git
|
|
|
|
for more information.
|