English Italian

Qt Simulator

A fast and lightweight simulator for Qt applications running on Nokia devices.

Project Name: Qt Simulator
Platforms: Windows, Linux, Mac
Qt Version: Qt 4.7
License: LGPL [gnu.org]
Blog entries: http://labs.qt.nokia.com/category/qt-simulator/ [labs.qt.nokia.com]
Git repo: http://qt.gitorious.org/qt-labs/simulator [qt.gitorious.org]

Compiling

Building Qt Simulator and its dependencies is a little tedious at the moment. If you just want to use it, we recommend you install the Nokia Qt SDK instead. If you want to build from source, follow this step-by-step instruction. Note that the order of the steps is important.

Repositories

The simulator application itself requires Qt as well as code contained in these repositories:

For building applications destined to run inside Qt Simulator, you need:

Preparation

Create two directories:

  • (simulator-qt-mobility-prefix)
  • (simulator-depends)

Set the environment variables to the matching paths:

  • QT_NOKIA_SDK_PATH=(Simulator Qt source directory)
  • QT_MOBILITY_SOURCE_PATH=(Simulator Qt Mobility source directory)
  • QMF_INCLUDEDIR=(QMF source directory)/src/libraries/qmfclient
  • QMF_LIBDIR=(simulator-qt-mobility-prefix)/lib
  • SIMULATOR_DEPENDENCY_PATH=(simulator-depends)

Simulator application

  • Get a Qt 4.7. We call this the Desktop Qt. Use only this Qt here.
  • Run qmake -r QMF_INSTALL_ROOT=(simulator-depends) on QMF in a build directory of your choice.
  • Build and install (QMF)/src/libraries/qmfclient.
  • Build and install (QMF)/src/plugins/contentmanagers/qmfstoragemanager
  • Build and install Qt Mobility. Pass -modules “connectivity location contacts versit organizer” -prefix (simulator-depends) to configure.
  • Build and install (Remote Control Widget)/library. Pass PREFIX=(simulator-depends) to qmake.
  • Build the simulator itself.

Dependencies for client applications

  • Build the Simulator Qt, passing -simulator and -developer-build to configure. On linux, pass -opengl if you want to. Use only this Qt here. That means all further steps in this section should use the Simulator Qt’s qmake.
  • Run qmake -r QMF_INSTALL_ROOT=(simulator-qt-mobility-prefix) on QMF in a build directory of your choice that’s different from the one above.
  • Build and install (QMF)/src/libraries/qmfclient.
  • Build and install (QMF)/src/plugins/contentmanagers/qmfstoragemanager.
  • Build and install Simulator Qt Mobility. Pass -prefix (simulator-qt-mobility-prefix) to configure. (set PATH to make sure the Simulator Qt’s qmake is used)

Client applications

Register the Simulator Qt you built in Qt Creator and select the Qt Simulator target to build client applications. Alternatively, use the Simulator Qt’s qmake directly.

Development

Branches

We categorize branches into:

  • maintenance branch: Maintenance for a released version. Can be merged into the development branch.
  • development branches: This is where new features go.
  • staging branch for X: Will automatically be merged back and forth to and from X.
  • active release branches: More stable branches used for future releases. No changes should be pushed to them. The release manager will cherry-pick fixes.
  • inactive release branches: Previously active release branches that are kept for reference. Will not change.

These are the current branches:

  • simulator/1.1: maintenance branch
  • simulator/master: development branch
  • simulator-qt/4.7: development branch, qt/4.7 is merged regularly
  • simulator-qt/4.7.4: active release branch, qt-releases/4.7.4 is merged regularly
  • simulator-mobility/1.1: maintenance and staging branch for qt-mobility/1.1
  • simulator-mobility/1.2.0: active release branch, qtmobility-releases/1.2.0 is merged regularly
  • simulator-mobility/master: development branch and staging branch for qt-mobility/master
  • remotecontrolwidget/simulator: maintenance branch (use with simulator/1.1)
  • remotecontrolwidget/simulator-master: development branch (use with simulator/master), remotecontrolwidget/simulator is merged regularly

Inactive branches:

  • simulator/1.0.1: inactive branch
  • simulator-qt/4.7.0: inactive release branch
  • simulator-qt/4.7.0-beta2: inactive release branch
  • simulator-qt/4.7.0-beta1: inactive release branch
  • simulator-qt/4.7.1: inactive release branch
  • simulator-qt/4.7.2: inactive release branch
  • simulator-mobility/1.0: maintenance and staging branch for qt-mobility/1.0
  • simulator-mobility/1.1.1: inactive release branch, based on qtmobility-releases/1.1.1
  • simulator-mobility/1.0.2: inactive release branch based on qt-mobility-releases/1.0.2
  • simulator-mobility/1.0.1: inactive release branch based on qt-mobility-releases/1.0.1
  • simulator-mobility/1.0.0: inactive release branch based on qt-mobility/1.0.0

Categories: