[cmake-developers] Improvements to Qt4 macros

Rolf Eike Beer eike at sf-mail.de
Wed Jun 20 09:18:20 EDT 2012


Clinton Stimpson wrote:
> On Jun 20, 2012, at 5:51 AM, Rolf Eike Beer wrote:
>
>> Hi,
>>
>> while wrestling with QtDBus today I found out the hard way (i.e. reading
>> the
>> source) that QT4_ADD_DBUS_INTERFACE is much more powerful than its
>> documentation tells. To fix that the first patch now tells about the
>> properties you may set on the input file. While at it I also added a
>> reference
>> from QT4_AUTOMOC macro to the new AUTOMOC property.
>>
>> The other 2 patches improve some things I found while reading the source
>> code.
>>
>> Patch #2 uses get_filename_component to strip the path from the given
>> input
>> file (why implement something again that we already have?). It also
>> applies
>> string(TOLOWER) earlier so that an XML file with an upper or mixed case
>> extension (FAT anyone?) will also be properly handled.
>>
>> Patch #3 finally wraps a lot of set(...) in quotes when the argument may
>> contain spaces, e.g. CMAKE_CURRENT_BINARY_DIR. It also uses LIST(APPEND)
>> to
>> add to the list of source files instead of just using set(). Together
>> with
>> additional quotes this should make things much less likely to screw up
>> things.
>>
>> If noone objects I'll merge this to next tonight. Running the testsuite
>> locally did not show any errors.
>
> I don't think the test suite covers QtDbus.  Perhaps that can be added?

And someone should add a coverage report for CMake files.

> What about a case sensitive file system with .XML instead of .xml?  Does
> your second patch break that?

Nope, the filename itself (as passed to qdbusxml2cpp) is not touched. This
is only tolower'ed when it tries to find out the basename.

> Other than that question, I have no objections.

Fine ;)

Eike
-- 




More information about the cmake-developers mailing list