Saturday, November 19, 2011

Version numbering in Qt isn't such a git.

Warning: This is techy stuff. Those of a delicate persuasion (or those who have a life) should look away now...

Still there? No? I'll carry on anyway. In Qt, there's no out-of-the-box way of automatically identifying the version of a project. This could be useful for debugging purposes, for example. However, if you use source code control, you can achieve it easily.

I use Git as my SCCS, and I have adapted the solution I found on Qt Centre, which uses SVN. My version uses git describe, which outputs a string in the following format:


latest tag-number of commits since tagging-unique identifier of latest commit


The code goes in the .pro file of your Qt project, and is as follows:


# Create a macro from the Git describe command, to use in about boxes.BUILDSTR = '\\"$$system(git describe)\\"'
DEFINES += BUILD=\"$${BUILDSTR}\"

This code inserts the git describe string in a #DEFINE macro called build. Here I've used it in a function to display an about box:


void MainWindow::on_aboutButton_clicked()
{
// Display an About box. This uses the BUILD macro created from the // Git describe string in IRCBoilerplate.pro QString versionString = BUILD;
QString aboutString = "IRC BoilerPlate " + versionString + "\n ©2011 Mark Johnson.\nUses the Communi IRC library by J-P Nurmi et al.";
QMessageBox::about(this, tr("About IRCBoilerplate"), aboutString);
}



What's IRCBoilerplate? I'm writing an IRC client for my phone. IRCBoilerplate is a simple Windows IRC client I'm using to learn the nuances of the IRC protocol.

Thursday, November 17, 2011

I'm not married anymore!

I kinda lost interest in this here blog. I mean, no one was reading it. And I'm lazy.

Anyhow, in the two years since I last posted, I've:


  • Got a job as a Trainee Accountant at a small local firm. I like the work, they like me, and as soon as they're sure I'm free of the wobblies they'll pay to further my training. Wobblies? read on...
  • Passed my AAT.
  • Got separated, and moved back in with Mum and Dad. Hence the wobblies. I'm not talking about it - it's water under the bridge, and this blog's about me now. Besides, I have a lovely girlfriend now, who inspires me. I still see the girls regularly.
  • Not done all that much to the TR7, but I've recently restarted, now that my ex has cleared the garage in her new home where she's kindly allowing me to keep it.
So I'll try again to keep this blog up to date. I'll use it to document the TR7 work as normal, and also my attempts at writing apps for my Nokia smartphone using Qt.