Skip to main content

4 posts tagged with "qt"

View All Tags

· 2 min read
CMake mark

I'm currently shitfing some common CMake code from various disparate projects to common shared CMake modules. The first of these is some code for locating Qt's documentation tag files for linking Doxygen-based documentation to Qt's documentation. The resutling FindQtDocs module is now availble on GitHub here.

The module works by using either Qt's qtpaths (from Qt 6.2.0 onwards) or qmake (before Qt 6.2.0) to fetch Qt's QT_INSTALL_DOCS property1. Once the QT_INSTALL_DOCS path is known, the module simply looks for the requires Qt modules' *.tags files, setting the relevant CMake variables following the usual find_package conventions, such as:

find_package(QtDocs COMPONENTS Core Bluetooth)
if (QtDocs_FOUND)
message(DEBUG "Do things with ${QtDocs_Core_TAGS} and ${QtDocs_Bluetooth_TAGS}")
endif()

Footnotes

  1. Support for the -query option was added to qtpaths in Qt 6.2.0. It works the same as qmake's -query, but presumably was added to assist the gradual removal of qmake, since CMake is now Qt's preferred build system.

· 2 min read
MeeGo Handset 1.1 Home Screen

Having owned an N900 for a little while now (casting my vote for openness and freedom in the mobile space), I've been eagerly waiting for a MeeGo release that I could install on my N900 and play with. That moment came a little over one week ago! :) So, after waiting for my nice new class-10 microSDHC card to arrive (cheaper to buy online with shipping, than to buy locally), I finally had a play last weekend. I was a little dissapointed :|

Although I had expected a lot of bugs and instabilities, and my overall expectations were quite low at this stage, I was still quite surprised at just how incomplete MeeGo Handset is. I guess my unrealistic expectations stemmed from the fact that the current MeeGo handset release has the version number 1.1 - that implies to me that it should be "fairly complete" (albeit with bugs, etc). However, it is more inline with what I would call a version 0.1.

· 4 min read
QtSvgDialGauge Tachometer

I've been experimenting with QtSvgDialGauge in a personal project, and so far, I like it a lot! :)

For those who don't know, QtSvgDialGauge is nice SVG-based dial/gauge widget, which is part of the Qt Embedded Widget demos. You can see it (and several other embedded widgets) in action in the Qt Embedded Widgets Catalog and Qt Patient Care Demo applications. And you can download the source for both applications here.

· 8 min read
Qt logo

With most non-trivial Qt projects that I create, I like to include a pre-pre-build command in the qmake project file. I'll explain why as we go, but first off, let's look at what I mean by "pre-pre-build" (it is not at all a standard term).

The typical build process (as performed by make looks something like this:

  1. For the given target, check if any of the target's dependencies have been updated since it was last (re)built.
    1. If no dependencies have changed, do nothing - we're done ;)
    2. If one or more dependencies have changed, then:
      1. Build each dependent target.
      2. Build this target.
      3. If appropriate, link this target with its dependencies.

That is, of course, a gross oversimplification... but it will do the purpose of this post.