Showing posts with label version control. Show all posts
Showing posts with label version control. Show all posts

Wednesday, March 28, 2012

Website is propagating!

I've set up a website, because I'll need one when I upload BelleChat to Nokia Store. To keep things simple, I got a template from Iron Spider, and jolly good it was too. A few tweaks, some new graphics, and job done. It's hosted at GitHub, where they have a Pages feature for simple websites. Once it's all propagated, I'll link the blog to it, too.  I couldn't get all that to work, so I've gone back to Google Sites.

At the moment it's propagating through the DNS servers, but here's the link.


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.