mirror of
git://code.qt.io/qt/qt5.git
synced 2025-12-26 01:46:20 +08:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a70b8f6aa | ||
|
|
99354fcabe | ||
|
|
f3294147a5 | ||
|
|
3812f549d4 | ||
|
|
831a599d2b | ||
|
|
c3959f2160 | ||
|
|
3f9369be2d | ||
|
|
675309da41 | ||
|
|
bd64171c0a | ||
|
|
57d4fc9ceb | ||
|
|
71774174c8 | ||
|
|
2579c44208 | ||
|
|
c1fbc6dfde | ||
|
|
063e5f899e | ||
|
|
b02a6596ce | ||
|
|
f835537d9f | ||
|
|
e4b9dc1691 | ||
|
|
ad31b8c574 | ||
|
|
b68c8b9729 |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1,6 +1,7 @@
|
||||
.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,270 +1,181 @@
|
||||
[submodule "qtbase"]
|
||||
path = qtbase
|
||||
url = ../qtbase.git
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtsvg"]
|
||||
depends = qtbase
|
||||
path = qtsvg
|
||||
url = ../qtsvg.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtdeclarative"]
|
||||
depends = qtbase
|
||||
recommends = qtsvg qtxmlpatterns
|
||||
path = qtdeclarative
|
||||
url = ../qtdeclarative.git
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtactiveqt"]
|
||||
depends = qtbase
|
||||
path = qtactiveqt
|
||||
url = ../qtactiveqt.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtscript"]
|
||||
depends = qtbase
|
||||
recommends = qttools
|
||||
path = qtscript
|
||||
url = ../qtscript.git
|
||||
branch = 5.6.0
|
||||
status = deprecated
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtmultimedia"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtmultimedia
|
||||
url = ../qtmultimedia.git
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qttools"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtactiveqt qtwebkit
|
||||
path = qttools
|
||||
url = ../qttools.git
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtxmlpatterns"]
|
||||
depends = qtbase
|
||||
path = qtxmlpatterns
|
||||
url = ../qtxmlpatterns.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qttranslations"]
|
||||
depends = qttools
|
||||
path = qttranslations
|
||||
url = ../qttranslations.git
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
priority = 30
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtdoc"]
|
||||
depends = qtdeclarative
|
||||
path = qtdoc
|
||||
url = ../qtdoc.git
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
priority = 40
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtrepotools"]
|
||||
path = qtrepotools
|
||||
url = ../qtrepotools.git
|
||||
branch = master
|
||||
status = essential
|
||||
qt = false
|
||||
initrepo = true
|
||||
[submodule "qtwebkit"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns
|
||||
path = qtwebkit
|
||||
url = ../qtwebkit.git
|
||||
branch = 5.6.0
|
||||
status = obsolete
|
||||
project = WebKit.pro
|
||||
priority = 20
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtwebkit-examples"]
|
||||
depends = qtwebkit qttools
|
||||
path = qtwebkit-examples
|
||||
url = ../qtwebkit-examples.git
|
||||
branch = 5.6.0
|
||||
status = obsolete
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtqa"]
|
||||
depends = qtbase
|
||||
path = qtqa
|
||||
url = ../qtqa.git
|
||||
branch = master
|
||||
status = essential
|
||||
priority = 50
|
||||
initrepo = true
|
||||
[submodule "qtlocation"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtquickcontrols qtserialport qtsystems
|
||||
path = qtlocation
|
||||
url = ../qtlocation.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtsensors"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtsensors
|
||||
url = ../qtsensors.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[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.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtwayland"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwayland
|
||||
url = ../qtwayland.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qt3d"]
|
||||
depends = qtdeclarative qtimageformats
|
||||
path = qt3d
|
||||
url = ../qt3d.git
|
||||
branch = 5.6.0
|
||||
status = preview
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtimageformats"]
|
||||
depends = qtbase
|
||||
path = qtimageformats
|
||||
url = ../qtimageformats.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtquick1"]
|
||||
depends = qtscript
|
||||
recommends = qtsvg qtxmlpatterns
|
||||
path = qtquick1
|
||||
url = ../qtquick1.git
|
||||
branch = 5.6.0
|
||||
status = obsolete
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtgraphicaleffects"]
|
||||
depends = qtdeclarative
|
||||
path = qtgraphicaleffects
|
||||
url = ../qtgraphicaleffects.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtquickcontrols"]
|
||||
depends = qtdeclarative
|
||||
recommends = qtgraphicaleffects
|
||||
path = qtquickcontrols
|
||||
url = ../qtquickcontrols.git
|
||||
branch = 5.6.0
|
||||
status = essential
|
||||
[submodule "qtserialbus"]
|
||||
depends = qtserialport
|
||||
path = qtserialbus
|
||||
url = ../qtserialbus.git
|
||||
branch = 5.6.0
|
||||
status = preview
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtserialport"]
|
||||
depends = qtbase
|
||||
path = qtserialport
|
||||
url = ../qtserialport.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtx11extras"]
|
||||
depends = qtbase
|
||||
path = qtx11extras
|
||||
url = ../qtx11extras.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtmacextras"]
|
||||
depends = qtbase
|
||||
path = qtmacextras
|
||||
url = ../qtmacextras.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtwinextras"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtwinextras
|
||||
url = ../qtwinextras.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtandroidextras"]
|
||||
depends = qtbase
|
||||
path = qtandroidextras
|
||||
url = ../qtandroidextras.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtenginio"]
|
||||
depends = qtdeclarative
|
||||
path = qtenginio
|
||||
url = ../qtenginio.git
|
||||
branch = 5.6.0
|
||||
status = deprecated
|
||||
branch = 1.2
|
||||
initrepo = true
|
||||
[submodule "qtwebsockets"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwebsockets
|
||||
url = ../qtwebsockets.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtwebchannel"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtwebsockets
|
||||
path = qtwebchannel
|
||||
url = ../qtwebchannel.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtwebengine"]
|
||||
depends = qtquickcontrols qtwebchannel
|
||||
recommends = qtlocation
|
||||
path = qtwebengine
|
||||
url = ../qtwebengine.git
|
||||
branch = 5.6.0
|
||||
status = addon
|
||||
priority = 10
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
[submodule "qtcanvas3d"]
|
||||
depends = qtdeclarative
|
||||
path = qtcanvas3d
|
||||
url = ../qtcanvas3d.git
|
||||
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
|
||||
branch = 5.5
|
||||
initrepo = true
|
||||
|
||||
27
README
27
README
@@ -39,24 +39,11 @@ 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>/<source_package>
|
||||
./configure -prefix $PWD/qtbase <license> -nomake tests
|
||||
cd <path>/qt-everywhere-opensource-src-<version>
|
||||
./configure -prefix $PWD/qtbase -opensource -nomake tests
|
||||
make -j 4
|
||||
|
||||
Windows:
|
||||
@@ -68,8 +55,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>\<source_package>
|
||||
configure -prefix %CD%\qtbase <license> -nomake tests
|
||||
cd <path>\qt-everywhere-opensource-src-<version>
|
||||
configure -prefix %CD%\qtbase -opensource -nomake tests
|
||||
nmake // jom // mingw32-make
|
||||
|
||||
To accelerate the bootstrap of qmake with MSVC, it may be useful to pass
|
||||
@@ -94,13 +81,13 @@ HOW TO BUILD QT5
|
||||
Example for a release build:
|
||||
(adjust the `-jN' parameter as appropriate for your system)
|
||||
|
||||
./configure -prefix $PWD/qtbase <license>
|
||||
./configure -prefix $PWD/qtbase -opensource
|
||||
make -j4
|
||||
|
||||
Example for a developer build:
|
||||
(enables more autotests, builds debug version of libraries, ...)
|
||||
|
||||
./configure -developer-build <license>
|
||||
./configure -developer-build -opensource
|
||||
make -j4
|
||||
|
||||
See output of `./configure -help' for documentation on various options to
|
||||
@@ -113,7 +100,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 <license>
|
||||
./configure -prefix $PWD/qtbase -opensource
|
||||
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,124 +39,154 @@ use warnings;
|
||||
package Qt::InitRepository;
|
||||
|
||||
|
||||
sub printUsage($)
|
||||
{
|
||||
my ($ex) = @_;
|
||||
=head1 NAME
|
||||
|
||||
print <<EOF ;
|
||||
Usage:
|
||||
./init-repository [options]
|
||||
init-repository - initialize the Qt5 repository and all submodules
|
||||
|
||||
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.
|
||||
=head1 SYNOPSIS
|
||||
|
||||
Options:
|
||||
Global options:
|
||||
./init-repository [options]
|
||||
|
||||
--force, -f
|
||||
Force initialization (even if the submodules are already checked
|
||||
out).
|
||||
This script may be run after an initial `git clone' of Qt5 in order to check
|
||||
out all submodules.
|
||||
|
||||
--force-hooks
|
||||
Force initialization of hooks (even if there are already hooks in
|
||||
checked out submodules).
|
||||
|
||||
--quiet, -q
|
||||
Be quiet. Will exit cleanly if the repository is already
|
||||
initialized.
|
||||
=head1 OPTIONS
|
||||
|
||||
Module options:
|
||||
B<Global options:>
|
||||
|
||||
--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".
|
||||
=over
|
||||
|
||||
--no-update
|
||||
Skip the `git submodule update' command.
|
||||
=item --force, -f
|
||||
|
||||
--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.
|
||||
Force initialization (even if the submodules are already checked out).
|
||||
|
||||
--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.
|
||||
=item --force-hooks
|
||||
|
||||
Repository options:
|
||||
Force initialization of hooks (even if there are already hooks in checked out
|
||||
submodules).
|
||||
|
||||
--berlin
|
||||
Switch to internal URLs and make use of the Berlin git mirrors.
|
||||
(Implies `--mirror').
|
||||
|
||||
--oslo
|
||||
Switch to internal URLs and make use of the Oslo git mirrors.
|
||||
(Implies `--mirror').
|
||||
=item --quiet, -q
|
||||
|
||||
--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.
|
||||
Be quiet. Will exit cleanly if the repository is already initialized.
|
||||
|
||||
If this option is omitted, the gerrit remote is created without a
|
||||
username and port number, and thus relies on a correct SSH
|
||||
configuration.
|
||||
=back
|
||||
|
||||
--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<Module options:>
|
||||
|
||||
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.
|
||||
=over
|
||||
|
||||
--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.
|
||||
=item --no-webkit
|
||||
|
||||
Note that this negates the disk usage benefits gained from the use
|
||||
of `--alternates'.
|
||||
Skip webkit and webkit examples submodules.
|
||||
It may be desirable to skip these modules due to the large size of the webkit
|
||||
git repository.
|
||||
|
||||
--mirror <url-base>
|
||||
Uses <url-base> as the base URL for submodule git mirrors.
|
||||
=item --module-subset=<module1>,<module2>...
|
||||
|
||||
For example:
|
||||
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.
|
||||
|
||||
--mirror user\@machine:/foo/bar/
|
||||
=item --no-update
|
||||
|
||||
...will use the following as a mirror for qtbase:
|
||||
Skip the `git submodule update' command.
|
||||
|
||||
user\@machine:/foo/bar/qt/qtbase.git
|
||||
=item --branch
|
||||
|
||||
The mirror is permitted to contain a subset of the submodules; any
|
||||
missing modules will fall back to the canonical URLs.
|
||||
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.
|
||||
|
||||
EOF
|
||||
exit($ex);
|
||||
}
|
||||
=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
|
||||
|
||||
use Carp qw( confess );
|
||||
use English qw( -no_match_vars );
|
||||
use Getopt::Long qw( GetOptions );
|
||||
use Getopt::Long qw( GetOptionsFromArray );
|
||||
use Pod::Usage qw( pod2usage );
|
||||
use Cwd qw( getcwd );
|
||||
|
||||
my $GERRIT_SSH_BASE
|
||||
@@ -197,7 +227,7 @@ sub exe
|
||||
|
||||
sub parse_arguments
|
||||
{
|
||||
my ($self) = @_;
|
||||
my ($self, @args) = @_;
|
||||
|
||||
%{$self} = (%{$self},
|
||||
'alternates' => "",
|
||||
@@ -209,10 +239,11 @@ sub parse_arguments
|
||||
'ignore-submodules' => 0 ,
|
||||
'mirror-url' => "",
|
||||
'update' => 1 ,
|
||||
'webkit' => 1 ,
|
||||
'module-subset' => "default",
|
||||
);
|
||||
|
||||
GetOptions(
|
||||
GetOptionsFromArray(\@args,
|
||||
'alternates=s' => \$self->{qw{ alternates }},
|
||||
'branch' => \$self->{qw{ branch }},
|
||||
'codereview-username=s' => \$self->{qw{ codereview-username }},
|
||||
@@ -223,9 +254,10 @@ 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 { printUsage(1); },
|
||||
'help|?' => sub { pod2usage(1); },
|
||||
|
||||
'berlin' => sub {
|
||||
$self->{'mirror-url'} = $BER_MIRROR_URL_BASE;
|
||||
@@ -233,13 +265,15 @@ sub parse_arguments
|
||||
'oslo' => sub {
|
||||
$self->{'mirror-url'} = $OSLO_MIRROR_URL_BASE;
|
||||
},
|
||||
) || printUsage(2);
|
||||
) || pod2usage(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;
|
||||
}
|
||||
@@ -277,14 +311,6 @@ 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) = @_;
|
||||
@@ -308,23 +334,9 @@ sub git_clone_all_submodules
|
||||
while ($base =~ s,/(?!\.\./)[^/]+/\.\./,/,g) {}
|
||||
$subbases{$mod} = $base;
|
||||
} elsif ($2 eq "update") {
|
||||
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");
|
||||
}
|
||||
push @subset, '-'.$1 if ($3 eq 'ignore');
|
||||
} elsif ($2 eq "initrepo") {
|
||||
$subinits{$1} = ($3 eq "yes" or $3 eq "true");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -332,23 +344,11 @@ sub git_clone_all_submodules
|
||||
foreach my $mod (@subset) {
|
||||
if ($mod eq "all") {
|
||||
map { $include{$_} = 1; } 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 eq "default") {
|
||||
map { $include{$_} = 1; } grep { $subinits{$_} } 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()->run if (!caller);
|
||||
Qt::InitRepository->new(@ARGV)->run if (!caller);
|
||||
1;
|
||||
|
||||
127
qt.pro
127
qt.pro
@@ -7,68 +7,89 @@ CONFIG -= build_pass # unhack, as it confuses Qt Creator
|
||||
|
||||
TEMPLATE = subdirs
|
||||
|
||||
# Extract submodules from .gitmodules.
|
||||
lines = $$cat(.gitmodules, lines)
|
||||
for (line, lines) {
|
||||
mod = $$replace(line, "^\\[submodule \"([^\"]+)\"\\]$", \\1)
|
||||
!equals(mod, $$line) {
|
||||
module = $$mod
|
||||
modules += $$mod
|
||||
} else {
|
||||
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")
|
||||
}
|
||||
}
|
||||
defineReplace(moduleName) {
|
||||
return(module_$$replace(1, -, _))
|
||||
}
|
||||
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()
|
||||
# Arguments: module name, [mandatory deps], [optional deps], [project file]
|
||||
defineTest(addModule) {
|
||||
contains(QT_SKIP_MODULES, $$1): return(false)
|
||||
mod = $$moduleName($$1)
|
||||
|
||||
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
|
||||
isEmpty(4) {
|
||||
!exists($$1/$${1}.pro): return(false)
|
||||
$${mod}.subdir = $$1
|
||||
export($${mod}.subdir)
|
||||
} else {
|
||||
!exists($$mod/$$project): \
|
||||
next()
|
||||
$${mod}.file = $$mod/$$project
|
||||
!exists($$1/$${4}): return(false)
|
||||
$${mod}.file = $$1/$$4
|
||||
$${mod}.makefile = Makefile
|
||||
export($${mod}.file)
|
||||
export($${mod}.makefile)
|
||||
}
|
||||
$${mod}.target = module-$$mod
|
||||
|
||||
for (d, deps) {
|
||||
!contains(SUBDIRS, $$d) {
|
||||
$${mod}.target =
|
||||
break()
|
||||
}
|
||||
$${mod}.depends += $$d
|
||||
for(d, 2) {
|
||||
dn = $$moduleName($$d)
|
||||
!contains(SUBDIRS, $$dn): \
|
||||
return(false)
|
||||
$${mod}.depends += $$dn
|
||||
}
|
||||
isEmpty($${mod}.target): \
|
||||
next()
|
||||
for (d, recs) {
|
||||
contains(SUBDIRS, $$d): \
|
||||
$${mod}.depends += $$d
|
||||
for(d, 3) {
|
||||
dn = $$moduleName($$d)
|
||||
contains(SUBDIRS, $$dn): \
|
||||
$${mod}.depends += $$dn
|
||||
}
|
||||
!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: 7a208d76ed...ec963e1063
Submodule qtactiveqt updated: ffa6ba6d81...ca7647e947
Submodule qtandroidextras updated: c2ca28adc0...38b83c33f3
2
qtbase
2
qtbase
Submodule qtbase updated: d0cdc7ad1e...5ef14c52d0
Submodule qtcanvas3d updated: 5a17c4ca05...9a714258f3
Submodule qtconnectivity updated: 8b550f0a75...741f5e26cd
Submodule qtdeclarative updated: dc558b69f0...d1461c8429
2
qtdoc
2
qtdoc
Submodule qtdoc updated: 2ed0ac4bbb...12db3790ee
Submodule qtenginio updated: 2a19257a5e...e32bcb7b71
Submodule qtgraphicaleffects updated: 4b8e9a348c...9aa0edc6d1
Submodule qtimageformats updated: 0bd46d5861...cba6b5c3a1
Submodule qtlocation updated: ca4bce553d...9969179a06
Submodule qtmacextras updated: d8ebb7eeea...872bbed0a7
Submodule qtmultimedia updated: 9985224a89...8d88f172b6
2
qtpim
2
qtpim
Submodule qtpim updated: fa74ad6eda...18e3d741c3
Submodule qtpurchasing deleted from 951d75d744
2
qtqa
2
qtqa
Submodule qtqa updated: 683f523bcc...de8520af69
2
qtquick1
2
qtquick1
Submodule qtquick1 updated: dcc5e5c01c...f079636a3e
Submodule qtquickcontrols updated: 85c2d2cce4...1836451c18
Submodule qtquickcontrols2 deleted from 7fc567eda8
Submodule qtrepotools updated: 333ca78f19...0b050777c2
2
qtscript
2
qtscript
Submodule qtscript updated: a70f6a1b95...a65471a8d5
Submodule qtsensors updated: 7197e7f4b3...6a16281ace
Submodule qtserialbus deleted from 48f3257259
Submodule qtserialport updated: 03d492e49e...ad108e9d56
2
qtsvg
2
qtsvg
Submodule qtsvg updated: 38777ea745...92f3d85102
Submodule qtsystems updated: 37b614abbf...44f70d99a2
2
qttools
2
qttools
Submodule qttools updated: 9904992dc4...a29927bbb8
Submodule qttranslations updated: 41d212290c...6fbc830e0e
Submodule qtwayland updated: 29b8bd8b11...9d40864945
Submodule qtwebchannel updated: 92d903d92b...906d910415
Submodule qtwebengine updated: 5c4ae298b0...f32f4af43c
2
qtwebkit
2
qtwebkit
Submodule qtwebkit updated: 81f43efbb2...11ce03bd80
Submodule qtwebkit-examples updated: 7988aecdbc...df729f9f28
Submodule qtwebsockets updated: 88946bbe20...043ecfb68e
Submodule qtwebview deleted from 847f8c40c1
Submodule qtwinextras updated: b53d3a1e14...92359d2d57
Submodule qtx11extras updated: d64ee96f0d...e4f2f0a146
Submodule qtxmlpatterns updated: de2dadb8af...7367d31337
Reference in New Issue
Block a user