mirror of
git://code.qt.io/qt/qt5.git
synced 2026-01-01 21:05:41 +08:00
Compare commits
81 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84a1676ed6 | ||
|
|
5e15831271 | ||
|
|
d74af1270a | ||
|
|
e6076450e1 | ||
|
|
fb1345171a | ||
|
|
6bdec75429 | ||
|
|
6efabf6dfe | ||
|
|
37c75a23e8 | ||
|
|
3cfe8712ae | ||
|
|
b680c074d1 | ||
|
|
d1d52b5c1e | ||
|
|
3de19487d9 | ||
|
|
f5ba19c3f0 | ||
|
|
1fcdb6cafc | ||
|
|
273821d69c | ||
|
|
06c3d40cc9 | ||
|
|
f47e82703c | ||
|
|
bb9eebce48 | ||
|
|
0e2ec253d8 | ||
|
|
63d305bb7d | ||
|
|
bcebc106f1 | ||
|
|
2e134da46c | ||
|
|
c3e404fffd | ||
|
|
43135d6e33 | ||
|
|
cda5de797b | ||
|
|
90b08b1c6d | ||
|
|
f8ae5ee3b6 | ||
|
|
a93760f957 | ||
|
|
d678e02936 | ||
|
|
1c04b1f7bd | ||
|
|
2a46300588 | ||
|
|
d527415ac6 | ||
|
|
f128a9a7e1 | ||
|
|
83b45e9030 | ||
|
|
1197dbb1db | ||
|
|
d55a9e3a66 | ||
|
|
4aabf3e19d | ||
|
|
ddcc9b234e | ||
|
|
95a89a8b5a | ||
|
|
98717e27d0 | ||
|
|
5197447fd0 | ||
|
|
a0309a7a43 | ||
|
|
17c6369c9e | ||
|
|
6f0713adf6 | ||
|
|
0c4ec778f5 | ||
|
|
6382845a6d | ||
|
|
383b2585e3 | ||
|
|
ee443af314 | ||
|
|
d16a8656f9 | ||
|
|
c78fc65631 | ||
|
|
ae1dc7aa3e | ||
|
|
942ae1dd82 | ||
|
|
d7f477d1cd | ||
|
|
c42dd3462b | ||
|
|
944aa6bcbb | ||
|
|
a89c6ef703 | ||
|
|
2ebfdb4ca8 | ||
|
|
9bde440225 | ||
|
|
dd1aeea722 | ||
|
|
e734941df8 | ||
|
|
c5cb9d2d89 | ||
|
|
4c520caa69 | ||
|
|
4116ec2474 | ||
|
|
3e1fd2cb31 | ||
|
|
1a46c456eb | ||
|
|
812ff69df4 | ||
|
|
c9425926e1 | ||
|
|
f587983764 | ||
|
|
cab251cd8d | ||
|
|
1d3966833b | ||
|
|
dc11a32883 | ||
|
|
c5910fb0b2 | ||
|
|
c5e8796659 | ||
|
|
5c321f6626 | ||
|
|
3009287ec7 | ||
|
|
7257e86c73 | ||
|
|
9edcb24889 | ||
|
|
b34e3669ff | ||
|
|
1b9d3e4ec0 | ||
|
|
b02397e9df | ||
|
|
4afaae4020 |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1,7 +1,6 @@
|
||||
.tag export-subst
|
||||
.gitignore export-ignore
|
||||
.gitattributes export-ignore
|
||||
.gitmodules export-ignore
|
||||
.commit-template export-ignore
|
||||
init-repository export-ignore
|
||||
README.git export-ignore
|
||||
|
||||
217
.gitmodules
vendored
217
.gitmodules
vendored
@@ -1,181 +1,270 @@
|
||||
[submodule "qtbase"]
|
||||
path = qtbase
|
||||
url = ../qtbase.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
[submodule "qtsvg"]
|
||||
depends = qtbase
|
||||
path = qtsvg
|
||||
url = ../qtsvg.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtdeclarative"]
|
||||
depends = qtbase
|
||||
recommends = qtsvg qtxmlpatterns
|
||||
path = qtdeclarative
|
||||
url = ../qtdeclarative.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
[submodule "qtactiveqt"]
|
||||
depends = qtbase
|
||||
path = qtactiveqt
|
||||
url = ../qtactiveqt.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtscript"]
|
||||
depends = qtbase
|
||||
recommends = qttools
|
||||
path = qtscript
|
||||
url = ../qtscript.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = deprecated
|
||||
[submodule "qtmultimedia"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtmultimedia
|
||||
url = ../qtmultimedia.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
[submodule "qttools"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtactiveqt qtwebkit
|
||||
path = qttools
|
||||
url = ../qttools.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
[submodule "qtxmlpatterns"]
|
||||
depends = qtbase
|
||||
path = qtxmlpatterns
|
||||
url = ../qtxmlpatterns.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qttranslations"]
|
||||
depends = qttools
|
||||
path = qttranslations
|
||||
url = ../qttranslations.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
priority = 30
|
||||
[submodule "qtdoc"]
|
||||
depends = qtdeclarative
|
||||
path = qtdoc
|
||||
url = ../qtdoc.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
priority = 40
|
||||
[submodule "qtrepotools"]
|
||||
path = qtrepotools
|
||||
url = ../qtrepotools.git
|
||||
branch = master
|
||||
initrepo = true
|
||||
status = essential
|
||||
qt = false
|
||||
[submodule "qtwebkit"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns
|
||||
path = qtwebkit
|
||||
url = ../qtwebkit.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = obsolete
|
||||
project = WebKit.pro
|
||||
priority = 20
|
||||
[submodule "qtwebkit-examples"]
|
||||
depends = qtwebkit qttools
|
||||
path = qtwebkit-examples
|
||||
url = ../qtwebkit-examples.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = obsolete
|
||||
[submodule "qtqa"]
|
||||
depends = qtbase
|
||||
path = qtqa
|
||||
url = ../qtqa.git
|
||||
branch = master
|
||||
initrepo = true
|
||||
status = essential
|
||||
priority = 50
|
||||
[submodule "qtlocation"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtquickcontrols qtserialport qtsystems
|
||||
path = qtlocation
|
||||
url = ../qtlocation.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtsensors"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtsensors
|
||||
url = ../qtsensors.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtsystems"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtsystems
|
||||
url = ../qtsystems.git
|
||||
branch = dev
|
||||
status = ignore
|
||||
[submodule "qtfeedback"]
|
||||
depends = qtdeclarative
|
||||
recommends = qtmultimedia
|
||||
path = qtfeedback
|
||||
url = ../qtfeedback.git
|
||||
branch = master
|
||||
status = ignore
|
||||
[submodule "qtdocgallery"]
|
||||
depends = qtdeclarative
|
||||
path = qtdocgallery
|
||||
url = ../qtdocgallery.git
|
||||
branch = master
|
||||
status = ignore
|
||||
[submodule "qtpim"]
|
||||
depends = qtdeclarative
|
||||
path = qtpim
|
||||
url = ../qtpim.git
|
||||
branch = dev
|
||||
status = ignore
|
||||
[submodule "qtconnectivity"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtandroidextras
|
||||
path = qtconnectivity
|
||||
url = ../qtconnectivity.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtwayland"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwayland
|
||||
url = ../qtwayland.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qt3d"]
|
||||
depends = qtdeclarative qtimageformats
|
||||
path = qt3d
|
||||
url = ../qt3d.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = preview
|
||||
[submodule "qtimageformats"]
|
||||
depends = qtbase
|
||||
path = qtimageformats
|
||||
url = ../qtimageformats.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtquick1"]
|
||||
depends = qtscript
|
||||
recommends = qtsvg qtxmlpatterns
|
||||
path = qtquick1
|
||||
url = ../qtquick1.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = obsolete
|
||||
[submodule "qtgraphicaleffects"]
|
||||
depends = qtdeclarative
|
||||
path = qtgraphicaleffects
|
||||
url = ../qtgraphicaleffects.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtquickcontrols"]
|
||||
depends = qtdeclarative
|
||||
recommends = qtgraphicaleffects
|
||||
path = qtquickcontrols
|
||||
url = ../qtquickcontrols.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
[submodule "qtserialbus"]
|
||||
depends = qtserialport
|
||||
path = qtserialbus
|
||||
url = ../qtserialbus.git
|
||||
branch = 5.6.0
|
||||
status = preview
|
||||
[submodule "qtserialport"]
|
||||
depends = qtbase
|
||||
path = qtserialport
|
||||
url = ../qtserialport.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtx11extras"]
|
||||
depends = qtbase
|
||||
path = qtx11extras
|
||||
url = ../qtx11extras.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtmacextras"]
|
||||
depends = qtbase
|
||||
path = qtmacextras
|
||||
url = ../qtmacextras.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtwinextras"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtwinextras
|
||||
url = ../qtwinextras.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtandroidextras"]
|
||||
depends = qtbase
|
||||
path = qtandroidextras
|
||||
url = ../qtandroidextras.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtenginio"]
|
||||
depends = qtdeclarative
|
||||
path = qtenginio
|
||||
url = ../qtenginio.git
|
||||
branch = 1.2
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = deprecated
|
||||
[submodule "qtwebsockets"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwebsockets
|
||||
url = ../qtwebsockets.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtwebchannel"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtwebsockets
|
||||
path = qtwebchannel
|
||||
url = ../qtwebchannel.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtwebengine"]
|
||||
depends = qtquickcontrols qtwebchannel
|
||||
recommends = qtlocation
|
||||
path = qtwebengine
|
||||
url = ../qtwebengine.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
priority = 10
|
||||
[submodule "qtcanvas3d"]
|
||||
depends = qtdeclarative
|
||||
path = qtcanvas3d
|
||||
url = ../qtcanvas3d.git
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtwebview"]
|
||||
depends = qtdeclarative
|
||||
recommends = qtwebengine
|
||||
path = qtwebview
|
||||
url = ../qtwebview.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
[submodule "qtquickcontrols2"]
|
||||
depends = qtquickcontrols
|
||||
path = qtquickcontrols2
|
||||
url = ../qtquickcontrols2.git
|
||||
branch = 5.6.0
|
||||
status = preview
|
||||
[submodule "qtpurchasing"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtpurchasing
|
||||
url = ../qtpurchasing.git
|
||||
branch = dev
|
||||
status = ignore
|
||||
|
||||
27
README
27
README
@@ -39,11 +39,24 @@ HOW TO BUILD QT5
|
||||
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.
|
||||
|
||||
Licensing:
|
||||
----------
|
||||
|
||||
Opensource users:
|
||||
|
||||
<source_package> = qt-everywhere-opensource-src-<version>
|
||||
<license> = -opensource
|
||||
|
||||
Commercial users:
|
||||
|
||||
<source_package> = qt-everywhere-enterprise-src-<version>
|
||||
<license> = -commercial
|
||||
|
||||
Linux, Mac:
|
||||
-----------
|
||||
|
||||
cd <path>/qt-everywhere-opensource-src-<version>
|
||||
./configure -prefix $PWD/qtbase -opensource -nomake tests
|
||||
cd <path>/<source_package>
|
||||
./configure -prefix $PWD/qtbase <license> -nomake tests
|
||||
make -j 4
|
||||
|
||||
Windows:
|
||||
@@ -55,8 +68,8 @@ HOW TO BUILD QT5
|
||||
* Python version 2.7 or later [http://www.activestate.com/activepython/]
|
||||
* Ruby version 1.9.3 or later [http://rubyinstaller.org/]
|
||||
|
||||
cd <path>\qt-everywhere-opensource-src-<version>
|
||||
configure -prefix %CD%\qtbase -opensource -nomake tests
|
||||
cd <path>\<source_package>
|
||||
configure -prefix %CD%\qtbase <license> -nomake tests
|
||||
nmake // jom // mingw32-make
|
||||
|
||||
To accelerate the bootstrap of qmake with MSVC, it may be useful to pass
|
||||
@@ -81,13 +94,13 @@ HOW TO BUILD QT5
|
||||
Example for a release build:
|
||||
(adjust the `-jN' parameter as appropriate for your system)
|
||||
|
||||
./configure -prefix $PWD/qtbase -opensource
|
||||
./configure -prefix $PWD/qtbase <license>
|
||||
make -j4
|
||||
|
||||
Example for a developer build:
|
||||
(enables more autotests, builds debug version of libraries, ...)
|
||||
|
||||
./configure -developer-build -opensource
|
||||
./configure -developer-build <license>
|
||||
make -j4
|
||||
|
||||
See output of `./configure -help' for documentation on various options to
|
||||
@@ -100,7 +113,7 @@ HOW TO BUILD QT5
|
||||
a `make module-<foo>'. For example, to build only qtscript and qtwebkit,
|
||||
and the modules they depend on:
|
||||
|
||||
./configure -prefix $PWD/qtbase -opensource
|
||||
./configure -prefix $PWD/qtbase <license>
|
||||
make -j4 module-qtscript module-qtwebkit
|
||||
|
||||
This can save a lot of time if you are only interested in a subset of Qt5.
|
||||
|
||||
262
init-repository
262
init-repository
@@ -39,154 +39,124 @@ use warnings;
|
||||
package Qt::InitRepository;
|
||||
|
||||
|
||||
=head1 NAME
|
||||
sub printUsage($)
|
||||
{
|
||||
my ($ex) = @_;
|
||||
|
||||
init-repository - initialize the Qt5 repository and all submodules
|
||||
print <<EOF ;
|
||||
Usage:
|
||||
./init-repository [options]
|
||||
|
||||
=head1 SYNOPSIS
|
||||
This script may be run after an initial `git clone' of Qt5 in order to
|
||||
check out all submodules. It fetches them from canonical URLs inferred
|
||||
from the clone's origin.
|
||||
|
||||
./init-repository [options]
|
||||
Options:
|
||||
Global options:
|
||||
|
||||
This script may be run after an initial `git clone' of Qt5 in order to check
|
||||
out all submodules.
|
||||
--force, -f
|
||||
Force initialization (even if the submodules are already checked
|
||||
out).
|
||||
|
||||
--force-hooks
|
||||
Force initialization of hooks (even if there are already hooks in
|
||||
checked out submodules).
|
||||
|
||||
=head1 OPTIONS
|
||||
--quiet, -q
|
||||
Be quiet. Will exit cleanly if the repository is already
|
||||
initialized.
|
||||
|
||||
B<Global options:>
|
||||
Module options:
|
||||
|
||||
=over
|
||||
--module-subset=<module1>,<module2>...
|
||||
Only initialize the specified subset of modules given as the
|
||||
argument. Specified modules must already exist in .gitmodules. The
|
||||
string "all" results in cloning all known modules. The strings
|
||||
"essential", "addon", "preview", "deprecated", "obsolete", and
|
||||
"ignore" refer to classes of modules; "default" maps to
|
||||
"essential,addon,preview,deprecated", which corresponds with the
|
||||
set of maintained modules and is also the default set. Module
|
||||
names may be prefixed with a dash to exclude them from a bigger
|
||||
set, e.g. "all,-ignore".
|
||||
|
||||
=item --force, -f
|
||||
--no-update
|
||||
Skip the `git submodule update' command.
|
||||
|
||||
Force initialization (even if the submodules are already checked out).
|
||||
--branch
|
||||
Instead of checking out specific SHA1s, check out the submodule
|
||||
branches that correspond with the current supermodule commit. By
|
||||
default, this option will cause local commits in the submodules to
|
||||
be rebased. With --no-update, the branches will be checked out, but
|
||||
their heads will not move.
|
||||
|
||||
--ignore-submodules
|
||||
Set git config to ignore submodules by default when doing operations
|
||||
on the qt5 repo, such as `pull', `fetch', `diff' etc.
|
||||
|
||||
=item --force-hooks
|
||||
After using this option, pass `--ignore-submodules=none' to git to
|
||||
override it as needed.
|
||||
|
||||
Force initialization of hooks (even if there are already hooks in checked out
|
||||
submodules).
|
||||
Repository options:
|
||||
|
||||
--berlin
|
||||
Switch to internal URLs and make use of the Berlin git mirrors.
|
||||
(Implies `--mirror').
|
||||
|
||||
=item --quiet, -q
|
||||
--oslo
|
||||
Switch to internal URLs and make use of the Oslo git mirrors.
|
||||
(Implies `--mirror').
|
||||
|
||||
Be quiet. Will exit cleanly if the repository is already initialized.
|
||||
--codereview-username <Gerrit/JIRA username>
|
||||
Specify the user name for the (potentially) writable `gerrit' remote
|
||||
for each module, for use with the Gerrit code review tool.
|
||||
|
||||
=back
|
||||
If this option is omitted, the gerrit remote is created without a
|
||||
username and port number, and thus relies on a correct SSH
|
||||
configuration.
|
||||
|
||||
--alternates <path to other Qt5 repo>
|
||||
Adds alternates for each submodule to another full qt5 checkout.
|
||||
This makes this qt5 checkout very small, as it will use the object
|
||||
store of the alternates before unique objects are stored in its own
|
||||
object store.
|
||||
|
||||
B<Module options:>
|
||||
This option has no effect when using `--no-update'.
|
||||
|
||||
=over
|
||||
NOTE: This will make this repo dependent on the alternate, which is
|
||||
potentially dangerous! The dependency can be broken by also using
|
||||
the `--copy-objects' option, or by running "git repack -a" in each
|
||||
submodule, where required. Please read the note about the `--shared'
|
||||
option in the documentation of `git clone' for more information.
|
||||
|
||||
=item --no-webkit
|
||||
--copy-objects
|
||||
When `--alternates' is used, automatically do a "git repack -a" in
|
||||
each submodule after cloning, to ensure that the repositories are
|
||||
independent from the source used as a reference for cloning.
|
||||
|
||||
Skip webkit and webkit examples submodules.
|
||||
It may be desirable to skip these modules due to the large size of the webkit
|
||||
git repository.
|
||||
Note that this negates the disk usage benefits gained from the use
|
||||
of `--alternates'.
|
||||
|
||||
=item --module-subset=<module1>,<module2>...
|
||||
--mirror <url-base>
|
||||
Uses <url-base> as the base URL for submodule git mirrors.
|
||||
|
||||
Only initialize the specified subset of modules given as the argument. Specified
|
||||
modules must already exist in .gitmodules.
|
||||
The string "all" results in cloning all known modules. The default is the set of
|
||||
maintained modules.
|
||||
Module names may be prefixed with a dash to exclude them from a bigger set.
|
||||
For example:
|
||||
|
||||
=item --no-update
|
||||
--mirror user\@machine:/foo/bar/
|
||||
|
||||
Skip the `git submodule update' command.
|
||||
...will use the following as a mirror for qtbase:
|
||||
|
||||
=item --branch
|
||||
user\@machine:/foo/bar/qt/qtbase.git
|
||||
|
||||
Instead of checking out specific SHA1s, check out the submodule branches that
|
||||
correspond with the current supermodule commit.
|
||||
By default, this option will cause local commits in the submodules to be rebased.
|
||||
With --no-update, the branches will be checked out, but their heads will not move.
|
||||
The mirror is permitted to contain a subset of the submodules; any
|
||||
missing modules will fall back to the canonical URLs.
|
||||
|
||||
=item --ignore-submodules
|
||||
|
||||
Set git config to ignore submodules by default when doing operations on the
|
||||
qt5 repo, such as `pull', `fetch', `diff' etc.
|
||||
|
||||
After using this option, pass `--ignore-submodules=none' to git to override
|
||||
it as needed.
|
||||
|
||||
=back
|
||||
|
||||
|
||||
B<Repository options:>
|
||||
|
||||
=over
|
||||
|
||||
=item --berlin
|
||||
|
||||
Switch to internal URLs and make use of the Berlin git mirrors.
|
||||
(Implies `--mirror').
|
||||
|
||||
=item --oslo
|
||||
|
||||
Switch to internal URLs and make use of the Oslo git mirrors.
|
||||
(Implies `--mirror').
|
||||
|
||||
|
||||
=item --codereview-username <Gerrit/JIRA username>
|
||||
|
||||
Specify the user name for the (potentially) writable `gerrit' remote
|
||||
for each module, for use with the Gerrit code review tool.
|
||||
|
||||
If this option is omitted, the gerrit remote is created without a username
|
||||
and port number, and thus relies on a correct SSH configuration.
|
||||
|
||||
|
||||
=item --alternates <path to other Qt5 repo>
|
||||
|
||||
Adds alternates for each submodule to another full qt5 checkout. This makes
|
||||
this qt5 checkout very small, as it will use the object store of the
|
||||
alternates before unique objects are stored in its own object store.
|
||||
|
||||
This option has no effect when using `--no-update'.
|
||||
|
||||
B<NOTE:> This will make this repo dependent on the alternate, which is
|
||||
potentially dangerous! The dependency can be broken by also using
|
||||
the `--copy-objects' option, or by running C<git repack -a> in each
|
||||
submodule, where required. Please read the note about the `--shared' option
|
||||
in the documentation of `git clone' for more information.
|
||||
|
||||
|
||||
=item --copy-objects
|
||||
|
||||
When `--alternates' is used, automatically do a C<git repack -a> in each
|
||||
submodule after cloning, to ensure that the repositories are independent
|
||||
from the source used as a reference for cloning.
|
||||
|
||||
Note that this negates the disk usage benefits gained from the use of
|
||||
`--alternates'.
|
||||
|
||||
|
||||
=item --mirror <url-base>
|
||||
|
||||
Uses <url-base> as the base URL for submodule git mirrors.
|
||||
|
||||
For example:
|
||||
|
||||
--mirror user@machine:/foo/bar/
|
||||
|
||||
...will use the following as a mirror for qtbase:
|
||||
|
||||
user@machine:/foo/bar/qt/qtbase.git
|
||||
|
||||
The mirror is permitted to contain a subset of the submodules; any
|
||||
missing modules will fall back to the canonical URLs.
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
||||
EOF
|
||||
exit($ex);
|
||||
}
|
||||
|
||||
use Carp qw( confess );
|
||||
use English qw( -no_match_vars );
|
||||
use Getopt::Long qw( GetOptionsFromArray );
|
||||
use Pod::Usage qw( pod2usage );
|
||||
use Getopt::Long qw( GetOptions );
|
||||
use Cwd qw( getcwd );
|
||||
|
||||
my $GERRIT_SSH_BASE
|
||||
@@ -227,7 +197,7 @@ sub exe
|
||||
|
||||
sub parse_arguments
|
||||
{
|
||||
my ($self, @args) = @_;
|
||||
my ($self) = @_;
|
||||
|
||||
%{$self} = (%{$self},
|
||||
'alternates' => "",
|
||||
@@ -239,11 +209,10 @@ sub parse_arguments
|
||||
'ignore-submodules' => 0 ,
|
||||
'mirror-url' => "",
|
||||
'update' => 1 ,
|
||||
'webkit' => 1 ,
|
||||
'module-subset' => "default",
|
||||
);
|
||||
|
||||
GetOptionsFromArray(\@args,
|
||||
GetOptions(
|
||||
'alternates=s' => \$self->{qw{ alternates }},
|
||||
'branch' => \$self->{qw{ branch }},
|
||||
'codereview-username=s' => \$self->{qw{ codereview-username }},
|
||||
@@ -254,10 +223,9 @@ sub parse_arguments
|
||||
'mirror=s' => \$self->{qw{ mirror-url }},
|
||||
'quiet' => \$self->{qw{ quiet }},
|
||||
'update!' => \$self->{qw{ update }},
|
||||
'webkit!' => \$self->{qw{ webkit }},
|
||||
'module-subset=s' => \$self->{qw{ module-subset }},
|
||||
|
||||
'help|?' => sub { pod2usage(1); },
|
||||
'help|?' => sub { printUsage(1); },
|
||||
|
||||
'berlin' => sub {
|
||||
$self->{'mirror-url'} = $BER_MIRROR_URL_BASE;
|
||||
@@ -265,15 +233,13 @@ sub parse_arguments
|
||||
'oslo' => sub {
|
||||
$self->{'mirror-url'} = $OSLO_MIRROR_URL_BASE;
|
||||
},
|
||||
) || pod2usage(2);
|
||||
) || printUsage(2);
|
||||
|
||||
# Replace any double trailing slashes from end of mirror
|
||||
$self->{'mirror-url'} =~ s{//+$}{/};
|
||||
|
||||
$self->{'module-subset'} =~ s/\bdefault\b/preview,essential,addon,deprecated/;
|
||||
$self->{'module-subset'} = [ split(/,/, $self->{'module-subset'}) ];
|
||||
if (!$self->{webkit}) {
|
||||
push @{$self->{'module-subset'}}, "-qtwebkit", "-qtwebkit-examples";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -311,6 +277,14 @@ sub git_submodule_init
|
||||
return;
|
||||
}
|
||||
|
||||
use constant {
|
||||
STS_PREVIEW => 1,
|
||||
STS_ESSENTIAL => 2,
|
||||
STS_ADDON => 3,
|
||||
STS_DEPRECATED => 4,
|
||||
STS_OBSOLETE => 5
|
||||
};
|
||||
|
||||
sub git_clone_all_submodules
|
||||
{
|
||||
my ($self, $my_repo_base, $co_branch, @subset) = @_;
|
||||
@@ -334,9 +308,23 @@ sub git_clone_all_submodules
|
||||
while ($base =~ s,/(?!\.\./)[^/]+/\.\./,/,g) {}
|
||||
$subbases{$mod} = $base;
|
||||
} elsif ($2 eq "update") {
|
||||
push @subset, '-'.$1 if ($3 eq 'ignore');
|
||||
} elsif ($2 eq "initrepo") {
|
||||
$subinits{$1} = ($3 eq "yes" or $3 eq "true");
|
||||
push @subset, '-'.$1 if ($3 eq 'none');
|
||||
} elsif ($2 eq "status") {
|
||||
if ($3 eq "preview") {
|
||||
$subinits{$1} = STS_PREVIEW;
|
||||
} elsif ($3 eq "essential") {
|
||||
$subinits{$1} = STS_ESSENTIAL;
|
||||
} elsif ($3 eq "addon") {
|
||||
$subinits{$1} = STS_ADDON;
|
||||
} elsif ($3 eq "deprecated") {
|
||||
$subinits{$1} = STS_DEPRECATED;
|
||||
} elsif ($3 eq "obsolete") {
|
||||
$subinits{$1} = STS_OBSOLETE;
|
||||
} elsif ($3 eq "ignore") {
|
||||
delete $subinits{$1};
|
||||
} else {
|
||||
die("Invalid subrepo status '$3' for '$1'.\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,11 +332,23 @@ sub git_clone_all_submodules
|
||||
foreach my $mod (@subset) {
|
||||
if ($mod eq "all") {
|
||||
map { $include{$_} = 1; } keys %subbases;
|
||||
} elsif ($mod eq "default") {
|
||||
map { $include{$_} = 1; } grep { $subinits{$_} } keys %subbases;
|
||||
} elsif ($mod eq "essential") {
|
||||
map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_ESSENTIAL } keys %subbases;
|
||||
} elsif ($mod eq "addon") {
|
||||
map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_ADDON } keys %subbases;
|
||||
} elsif ($mod eq "preview") {
|
||||
map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_PREVIEW } keys %subbases;
|
||||
} elsif ($mod eq "deprecated") {
|
||||
map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_DEPRECATED } keys %subbases;
|
||||
} elsif ($mod eq "obsolete") {
|
||||
map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_OBSOLETE } keys %subbases;
|
||||
} elsif ($mod =~ s/^-//) {
|
||||
print "Warning: excluding non-existent module '$mod'.\n"
|
||||
if (!defined($subdirs{$mod}));
|
||||
delete $include{$mod};
|
||||
} else {
|
||||
die("Error: module subset names non-existent '$mod'.\n")
|
||||
if (!defined($subdirs{$mod}));
|
||||
$include{$mod} = 1;
|
||||
}
|
||||
}
|
||||
@@ -573,5 +573,5 @@ sub run
|
||||
|
||||
#==============================================================================
|
||||
|
||||
Qt::InitRepository->new(@ARGV)->run if (!caller);
|
||||
Qt::InitRepository->new()->run if (!caller);
|
||||
1;
|
||||
|
||||
133
qt.pro
133
qt.pro
@@ -7,89 +7,68 @@ CONFIG -= build_pass # unhack, as it confuses Qt Creator
|
||||
|
||||
TEMPLATE = subdirs
|
||||
|
||||
defineReplace(moduleName) {
|
||||
return(module_$$replace(1, -, _))
|
||||
}
|
||||
|
||||
# Arguments: module name, [mandatory deps], [optional deps], [project file]
|
||||
defineTest(addModule) {
|
||||
contains(QT_SKIP_MODULES, $$1): return(false)
|
||||
mod = $$moduleName($$1)
|
||||
|
||||
isEmpty(4) {
|
||||
!exists($$1/$${1}.pro): return(false)
|
||||
$${mod}.subdir = $$1
|
||||
export($${mod}.subdir)
|
||||
# Extract submodules from .gitmodules.
|
||||
lines = $$cat(.gitmodules, lines)
|
||||
for (line, lines) {
|
||||
mod = $$replace(line, "^\\[submodule \"([^\"]+)\"\\]$", \\1)
|
||||
!equals(mod, $$line) {
|
||||
module = $$mod
|
||||
modules += $$mod
|
||||
} else {
|
||||
!exists($$1/$${4}): return(false)
|
||||
$${mod}.file = $$1/$$4
|
||||
prop = $$replace(line, "^$$escape_expand(\\t)([^ =]+) *=.*$", \\1)
|
||||
!equals(prop, $$line) {
|
||||
val = $$replace(line, "^[^=]+= *", )
|
||||
module.$${module}.$$prop = $$split(val)
|
||||
} else {
|
||||
error("Malformed line in .gitmodules: $$line")
|
||||
}
|
||||
}
|
||||
}
|
||||
QMAKE_INTERNAL_INCLUDED_FILES += $$PWD/.gitmodules
|
||||
|
||||
modules = $$sort_depends(modules, module., .depends .recommends)
|
||||
modules = $$reverse(modules)
|
||||
for (mod, modules) {
|
||||
equals(module.$${mod}.qt, false): \
|
||||
next()
|
||||
|
||||
deps = $$eval(module.$${mod}.depends)
|
||||
recs = $$eval(module.$${mod}.recommends)
|
||||
for (d, $$list($$deps $$recs)): \
|
||||
!contains(modules, $$d): \
|
||||
error("'$$mod' depends on undeclared '$$d'.")
|
||||
|
||||
contains(QT_SKIP_MODULES, $$mod): \
|
||||
next()
|
||||
!isEmpty(QT_BUILD_MODULES):!contains(QT_BUILD_MODULES, $$mod): \
|
||||
next()
|
||||
|
||||
project = $$eval(module.$${mod}.project)
|
||||
isEmpty(project) {
|
||||
!exists($$mod/$${mod}.pro): \
|
||||
next()
|
||||
$${mod}.subdir = $$mod
|
||||
} else {
|
||||
!exists($$mod/$$project): \
|
||||
next()
|
||||
$${mod}.file = $$mod/$$project
|
||||
$${mod}.makefile = Makefile
|
||||
export($${mod}.file)
|
||||
export($${mod}.makefile)
|
||||
}
|
||||
$${mod}.target = module-$$mod
|
||||
|
||||
for(d, 2) {
|
||||
dn = $$moduleName($$d)
|
||||
!contains(SUBDIRS, $$dn): \
|
||||
return(false)
|
||||
$${mod}.depends += $$dn
|
||||
for (d, deps) {
|
||||
!contains(SUBDIRS, $$d) {
|
||||
$${mod}.target =
|
||||
break()
|
||||
}
|
||||
$${mod}.depends += $$d
|
||||
}
|
||||
for(d, 3) {
|
||||
dn = $$moduleName($$d)
|
||||
contains(SUBDIRS, $$dn): \
|
||||
$${mod}.depends += $$dn
|
||||
isEmpty($${mod}.target): \
|
||||
next()
|
||||
for (d, recs) {
|
||||
contains(SUBDIRS, $$d): \
|
||||
$${mod}.depends += $$d
|
||||
}
|
||||
!isEmpty($${mod}.depends): \
|
||||
export($${mod}.depends)
|
||||
|
||||
$${mod}.target = module-$$1
|
||||
export($${mod}.target)
|
||||
|
||||
SUBDIRS += $$mod
|
||||
export(SUBDIRS)
|
||||
return(true)
|
||||
}
|
||||
|
||||
# only qtbase is required to exist. The others may not - but it is the
|
||||
# users responsibility to ensure that all needed dependencies exist, or
|
||||
# it may not build.
|
||||
|
||||
ANDROID_EXTRAS =
|
||||
android: ANDROID_EXTRAS = qtandroidextras
|
||||
|
||||
addModule(qtbase)
|
||||
addModule(qtandroidextras, qtbase)
|
||||
addModule(qtmacextras, qtbase)
|
||||
addModule(qtx11extras, qtbase)
|
||||
addModule(qtsvg, qtbase)
|
||||
addModule(qtxmlpatterns, qtbase)
|
||||
addModule(qtdeclarative, qtbase, qtsvg qtxmlpatterns)
|
||||
addModule(qtquickcontrols, qtdeclarative, qtgraphicaleffects)
|
||||
addModule(qtmultimedia, qtbase, qtdeclarative)
|
||||
addModule(qtwinextras, qtbase, qtdeclarative qtmultimedia)
|
||||
addModule(qtactiveqt, qtbase)
|
||||
addModule(qtsystems, qtbase, qtdeclarative)
|
||||
addModule(qtlocation, qtbase, qtdeclarative qtquickcontrols qtsystems)
|
||||
addModule(qtsensors, qtbase, qtdeclarative)
|
||||
addModule(qtconnectivity, qtbase $$ANDROID_EXTRAS, qtdeclarative)
|
||||
addModule(qtfeedback, qtdeclarative, qtmultimedia)
|
||||
addModule(qtpim, qtdeclarative)
|
||||
addModule(qtwebsockets, qtbase, qtdeclarative)
|
||||
addModule(qtwebchannel, qtbase, qtdeclarative qtwebsockets)
|
||||
addModule(qtwebkit, qtbase, qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns, WebKit.pro)
|
||||
addModule(qttools, qtbase, qtdeclarative qtactiveqt qtwebkit)
|
||||
addModule(qtwebkit-examples, qtwebkit qttools)
|
||||
addModule(qtimageformats, qtbase)
|
||||
addModule(qt3d, qtdeclarative qtimageformats)
|
||||
addModule(qtcanvas3d, qtdeclarative)
|
||||
addModule(qtgraphicaleffects, qtdeclarative)
|
||||
addModule(qtscript, qtbase, qttools)
|
||||
addModule(qtquick1, qtscript, qtsvg qtxmlpatterns qtwebkit)
|
||||
addModule(qtdocgallery, qtdeclarative)
|
||||
addModule(qtwayland, qtbase, qtdeclarative)
|
||||
addModule(qtserialport, qtbase)
|
||||
addModule(qtenginio, qtdeclarative)
|
||||
addModule(qtwebengine, qtquickcontrols qtwebchannel, qtwebkit qtlocation)
|
||||
addModule(qttranslations, qttools)
|
||||
addModule(qtdoc, qtdeclarative)
|
||||
addModule(qtqa, qtbase)
|
||||
|
||||
2
qt3d
2
qt3d
Submodule qt3d updated: 0bcb6600db...7a208d76ed
Submodule qtactiveqt updated: d906c70d1f...ffa6ba6d81
Submodule qtandroidextras updated: 38b83c33f3...c2ca28adc0
2
qtbase
2
qtbase
Submodule qtbase updated: 7010da2e62...d0cdc7ad1e
Submodule qtcanvas3d updated: 8c6d82d4f6...5a17c4ca05
Submodule qtconnectivity updated: 7ed64c596c...8b550f0a75
Submodule qtdeclarative updated: 6067b74bb7...dc558b69f0
2
qtdoc
2
qtdoc
Submodule qtdoc updated: ee02a2d816...2ed0ac4bbb
Submodule qtenginio updated: e32bcb7b71...2a19257a5e
Submodule qtgraphicaleffects updated: 9aa0edc6d1...4b8e9a348c
Submodule qtimageformats updated: 5598cebd35...0bd46d5861
Submodule qtlocation updated: d1c91515ef...ca4bce553d
Submodule qtmacextras updated: 872bbed0a7...d8ebb7eeea
Submodule qtmultimedia updated: edc415be47...9985224a89
2
qtpim
2
qtpim
Submodule qtpim updated: 18e3d741c3...fa74ad6eda
1
qtpurchasing
Submodule
1
qtpurchasing
Submodule
Submodule qtpurchasing added at 951d75d744
2
qtqa
2
qtqa
Submodule qtqa updated: 0e8bad86ad...683f523bcc
2
qtquick1
2
qtquick1
Submodule qtquick1 updated: 9a3807656e...dcc5e5c01c
Submodule qtquickcontrols updated: f770dbe9d3...85c2d2cce4
1
qtquickcontrols2
Submodule
1
qtquickcontrols2
Submodule
Submodule qtquickcontrols2 added at 7fc567eda8
Submodule qtrepotools updated: 045b138f69...333ca78f19
2
qtscript
2
qtscript
Submodule qtscript updated: 50446e4edb...a70f6a1b95
Submodule qtsensors updated: 330bd7142d...7197e7f4b3
1
qtserialbus
Submodule
1
qtserialbus
Submodule
Submodule qtserialbus added at 48f3257259
Submodule qtserialport updated: 3e6308409d...03d492e49e
2
qtsvg
2
qtsvg
Submodule qtsvg updated: 23f263b6aa...38777ea745
Submodule qtsystems updated: 44f70d99a2...37b614abbf
2
qttools
2
qttools
Submodule qttools updated: 1d7b5b2e1c...9904992dc4
Submodule qttranslations updated: 160672dab7...41d212290c
Submodule qtwayland updated: 3dc9cfdbd2...29b8bd8b11
Submodule qtwebchannel updated: 6a7de61bc1...92d903d92b
Submodule qtwebengine updated: 60d67ffcad...5c4ae298b0
2
qtwebkit
2
qtwebkit
Submodule qtwebkit updated: 4a631c3a6e...81f43efbb2
Submodule qtwebkit-examples updated: df729f9f28...7988aecdbc
Submodule qtwebsockets updated: a01c1455af...88946bbe20
1
qtwebview
Submodule
1
qtwebview
Submodule
Submodule qtwebview added at 847f8c40c1
Submodule qtwinextras updated: 8fe1236810...b53d3a1e14
Submodule qtx11extras updated: e4f2f0a146...d64ee96f0d
Submodule qtxmlpatterns updated: eefb48c856...de2dadb8af
Reference in New Issue
Block a user