Getting Commercial Qt Sources

From Qt Wiki
Jump to: navigation, search

Some Qt components are commercial-only and some branches, after the next minor version's branch has produced a release, continue as commercial-only LTS branches. Such commercial-only content is supplied in shadow repositories whose names have a tqtc- prefix, for example tqtc-qtbase corresponds to the public qt/qtbase. Only commercial customers and those who work closely with The Qt Company have access to these repositories.

The LTS commercial branches have a common prefix, tqtc/lts- – for example, tqtc/lts-5.15. You can add a shadow repository as a remote of an existing checkout of the corresponding public repository, with which it shares history. This is usually the most convenient way to work with commercial-only repositories.

Precondition: Gerrit account

You must have a Gerrit account to clone the LTS commercial Qt sources:

  1. Register to Gerrit as instructed in [1]. Some notes:
    1. If you just want to clone the sources, you need to follow the instructions in steps 1-3 and either set an SSH key (step 5) or an HTTP password (step 7).
    2. If you are going to contribute to the Qt Project, step 4 is mandatory.
  2. Login to Gerrit and follow the cloning instructions on this page.

Note! To be able to clone the LTS commercial sources, you must have a commercial license. An evaluation license does not provide access to the LTS commercial sources.

Cloning commands in Gerrit

You can clone the shadow repositories in all the usual ways. You can get sources for all Qt submodules or just one specific Qt submodule. The clone commands are visible in the Gerrit as follows:

  1. sign in to Gerrit with your Qt account (that has a valid commercial license): https://codereview.qt-project.org
  2. In Browse > Repositories, type "tqtc-qt5" to Filter field to open the top-level Qt 5 shadow repository. If you like to open some submodule shadow repository, type "tqtc-qt<submodule>". For example, "tqtc-qtbase".
  3. Under the Download topic, you can see the clone commands for different protocols (anonymous HTTP, HTTP, SSH).
    • remember to check that you have either uploaded your SSH key or set the HTTP password. See steps 5 and 6 in [1].

Cloning all the Qt submodules

First clone the top-level Qt 5 git repository (the anonymous HTTP clone command is used in the following example):

$ git clone "https://codereview.qt-project.org/qt/tqtc-qt5"

Then check out the target branch. For example, check out the tqtc/lts-5.15 branch:

$ cd tqtc-qt5
$ git checkout tqtc/lts-5.15

Get the submodule source code (options are described in the [2]):

$ perl init-repository

Cloning specific Qt submodule

You can clone some specific Qt submodule, for example, Qt Base (the anonymous HTTP clone command is used in the following example). The lts branch is the default branch that is cloned:

$ git clone "https://codereview.qt-project.org/qt/tqtc-qtbase"

Cloning Qt for VxWorks Sources

Qt for VxWorks source code is available for Qt 5.15.10 via Qt account and Git. The source code release has been done on top of the Qt 5.15.10 release and it only supports building in Linux.

The release provides Qt for VxWorks-specific changes in the tqtc/vxworks-5.15.10 branch on the following repositories:

  • qt/tqtc-qtbase
  • qt/tqtc-qtmultimedia
  • qt/tqtc-qtdeclarative
  • qt/tqtc-qtdoc

The release is tagged as follows: v5.15.10-vxworks-lts.

For example, you can clone the Qt for VxWorks source code with the release tag as follows:

$ git clone -b tqtc/lts-5.15.10 "https://codereview.qt-project.org/qt/tqtc-qt5"
$ cd tqtc-qt5
$ git checkout v5.15.10-vxworks-lts
$ perl-init repository

Note! Relevant option for init-repository:

  • --module-subset=default,-qtwebengine : Consider skipping the web module (Qt WebEngine) by passing this option. It is quite big and takes a long time to compile (and is often a source of compile errors), so it is recommended to only download it if you intend to use it. You can always re-run init-repository later on to add it.
  • See tips for other options in [3]