[SailfishDevel] Building with the SDK without QtC
david.greaves at jollamobile.com
Sat Jul 27 19:10:37 UTC 2013
On 27/07/13 19:28, Lucien XU wrote:
> I have asked the question in #SailfishOs, but it might be better to have it
> archived in the mailing list.
> We were talking about the advantages of vim vs QtCreator in JollaFr's channel,
> so I was wondering if there is a way to code for Sailfish with a vim / editor
> + terminal.
> The only problem is about building and deploying to simulator, but that could
> be solved by some scripts, instead of clicking on the build / run button. But
> we don't know how QtC manage the builds itself.
> Anyone have more insights about it ?
The short answer is that there is a script in the VM called mb2 which wraps a
few commands. (Well, it is in the next release of the SailfishSDK - you'll need
to wait a short while for it to try this stuff out yourself)
Normal operation is for QtCreator to ssh into the VM, cd to the corresponding
src dir and run mb2. This wrapper takes
Here are 2 QtC 'command' : Equivalent sequences
qmake: ssh mersdk at localhost -p 2222 -i
~/SailfishOS/vmshare/ssh/private_keys/engine/mersdk cd $src \; mb2 -t $target qmake
make: ssh mersdk at localhost -p 2222 -i
~/SailfishOS/vmshare/ssh/private_keys/engine/mersdk cd $src \; mb2 -t $target make
The -t $target is optional and has a default and simply ensures the right
architecture and build-target-fs are used. So normal cli operation is mb2
Given a properly setup devices.xml configuration there is also a 'deploy'
command which takes --rsync and --zypper options. This will either rsync the
results of a "make install" to a private area on-device (quicker for daily
compile/deploy/check hacking) or will install the built rpm (for better QA checks)
Code is here: https://github.com/mer-tools/sdk-setup/blob/master/src/mb2#L31
Obviously the current focus is on making this all work 'out of the box' for the
SDK whilst keeping the normal Qt qmake/make experience - but am keen to make
this type of script work for general day-to-day work. (In fact the undocumented
"mb2 build" command is used internally in jolla and I use it to develop the Mer
and SDK packages themselves)
PS I did a talk which touched on this at Akademy2013:
More information about the Devel