[cmake-developers] Deprecating qt4_use_modules and qt4_automoc?

Marcus D. Hanwell marcus.hanwell at kitware.com
Wed Feb 6 07:55:33 EST 2013


On Wed, Feb 6, 2013 at 5:46 AM, Stephen Kelly <steveire at gmail.com> wrote:
>
> Hi there,
>
> The qt4_use_modules is now mostly obsoleted by tll in CMake 2.8.11. The main
> difference is that qt4_use_modules does not require the use of imported
> targets.
>
> I think we should deprecate it in favor of using tll() with imported targets
> (using the imported targets is independent of the QT_USE_IMPORTED_TARGETS
> setting, which determines what is in the QT_QTGUI_LIBRARIES and similar
> variables). So we should document
>
>  target_link_libraries(foo PRIVATE Qt4::QtGui)
>
> and similar as the primary way to use Qt 4.
>
> The qt4_automoc macro is obsoleted by the CMAKE_AUTOMOC feature. There is no
> equivalent in the Qt 5 cmake macro offering. So, I think we should deprecate
> it too.
>
What do you mean by deprecate it? We have projects that don't require
a recent CMake, and I would rather not add two ways of doing things to
the CMake code. I will certainly use this in newer projects that
require a recent CMake. It would be irritating to see deprecation
notices popping up in our dashboards too, so I would rather see them
continue to be supported.

As there will be no more Qt 4 releases, wouldn't there be a natural
deprecation path as projects move over to Qt 5?

Marcus



More information about the cmake-developers mailing list