8d12cfa990bcf267e120ebc1f0f98011ff841bfe
[mirror/qt/qt5.git] / README
1 HOW TO BUILD QT5
2 ================
3
4
5  Synopsis
6  ========
7
8    System requirements
9    ------------------
10
11     - Perl 5.8 or later
12     - Python 2.7 or later
13     - C++ compiler supporting the C++98 standard
14
15      For other platform specific requirements,
16      please see section "Setting up your machine" on:
17      http://qt-project.org/wiki/Get_The_Source
18
19    Optional requirements
20    ---------------------
21
22    - OpenSSL for SSL sockets or HTTPS
23    - Wayland
24
25    New dependencies in Qt 5
26    ------------------------
27
28      Linux: On systems running X11, the XCB libraries are required for
29      the platform plugin to build. qtbase/src/plugins/platforms/xcb/README
30      lists the required packages.
31
32      Qt 5 can make use of the ICU libraries providing Unicode and Globalization
33      support (see http://site.icu-project.org/). They are required for building
34      QtWebKit.
35      On Linux, they will be auto-detected.
36      On Windows, they need to be manually installed and the "include" and "lib"
37      folders of the ICU installation must be appended to the INCLUDE and LIB
38      environment variables after calling the Windows SDK setup script.
39      The "bin" folder of the ICU installation should be appended to the PATH
40      environment variable in order to for the DLLs to be found at run-time.
41
42    Linux, Mac:
43    -----------
44
45      cd <path>/qt-everywhere-opensource-src-<version>
46      export PATH=$PATH:$PWD/qtbase/bin
47      ./configure -prefix $PWD/qtbase -opensource -nomake tests
48      make -j 4
49
50    Windows:
51    --------
52
53      Open a Windows SDK (7.0, 7.1 or later) command prompt. Ensure that Perl
54      version 5.12 or later and Python version 2.7 or later can be found in the
55      path.
56
57      cd <path>\qt-everywhere-opensource-src-<version>
58      set PATH=%PATH%;%CD%\qtbase\bin;
59      configure -prefix %CD%\qtbase -opensource -nomake tests
60      nmake // jom // mingw32-make
61
62      For MinGW (gcc version 4.6 or later), ensure that the compiler can
63      be found in the path.
64
65      To accelerate the bootstrap of qmake with MSVC, it may be useful to pass
66      "-make-tool jom" on the configure command line. If you do not use jom,
67      adding "/MP" to the CL environment variable is a good idea.
68
69  More details follow.
70
71  Build!
72  ======
73
74  A typical `configure; make' build process is used.
75
76  Some relevant configure options (see configure -help):
77
78  -release              Compile and link Qt with debugging turned off.
79  -debug                Compile and link Qt with debugging turned on.
80  -nomake tests         Disable building of tests to speed up compilation
81  -nomake examples      Disable building of examples to speed up compilation
82  -confirm-license      Automatically acknowledge the LGPL 2.1 license.
83
84  Example for a release build:
85  (adjust the `-jN' parameter as appropriate for your system)
86
87    ./configure -prefix $PWD/qtbase -opensource
88    make -j4
89
90  Example for a developer build:
91  (enables more autotests, builds debug version of libraries, ...)
92
93    ./configure -developer-build -opensource
94    make -j4
95
96  See output of `./configure -help' for documentation on various options to
97  configure.
98
99  The above examples will build whatever Qt5 modules have been enabled by
100  default in the build system.
101
102  It is possible to build selected modules with their dependencies by doing
103  a `make module-<foo>'.  For example, to build only qtscript and qtwebkit,
104  and the modules they depend on:
105
106    ./configure -prefix $PWD/qtbase -opensource
107    make -j4 module-qtscript module-qtwebkit
108
109  This can save a lot of time if you are only interested in a subset of Qt5.
110
111
112  Hints
113  =====
114
115  The submodule repository qtrepotools contains useful scripts for
116  developers and release engineers. Consider adding qtrepotools/bin
117  to your PATH environment variable to access them.
118
119  The qt5_tool in qtrepotools has some more features which may be of interest.
120  Try `qt5_tool --help'.
121
122
123  Building Qt5 from git
124  =====================
125  See http://qt-project.org/wiki/Building-Qt-5-from-Git and README.git
126  for more information.