[CMake] QT_QTDECLARATIVE_FOUND issue on N9(50)

Laszlo Papp lpapp at kde.org
Mon Jul 11 15:36:54 EDT 2011


Hi,

> Can you try this with a newer CMake version?  Perhaps the 2.8.5 that just came
> out?

Same results. How I think I found some interesting thing. It works
just fine in this order:

    find_package(Qt4)
    if(QT_QTDECLARATIVE_FOUND)
        add_subdirectory(touch)
    else(QT_QTDECLARATIVE_FOUND)
        message(WARNING "Qt installation lacks Qt Declarative -
disabling touch based player")
    endif(QT_QTDECLARATIVE_FOUND)

    if(WITH_KDE)
        find_package(KDE4)
        if(KDE4_FOUND)
            include_directories(${KDE4_INCLUDES})
            add_subdirectory(kde)
            add_subdirectory(kdeext)

            if(BUILD_PLASMOID)
                add_subdirectory(plasmoid)
            endif(BUILD_PLASMOID)
        else(KDE4_FOUND)
            message(STATUS "WITH_KDE is enabled but KDE libraries are
not found - not building the KDE players or the Plasmoid")
        endif(KDE4_FOUND)
    endif(WITH_KDE)

However, if I change the order for this, it stops working:

    if(WITH_KDE)
        find_package(KDE4)
        if(KDE4_FOUND)
            include_directories(${KDE4_INCLUDES})
            add_subdirectory(kde)
            add_subdirectory(kdeext)

            if(BUILD_PLASMOID)
                add_subdirectory(plasmoid)
            endif(BUILD_PLASMOID)
        else(KDE4_FOUND)
            message(STATUS "WITH_KDE is enabled but KDE libraries are
not found - not building the KDE players or the Plasmoid")
        endif(KDE4_FOUND)
    endif(WITH_KDE)

    find_package(Qt4)
    if(QT_QTDECLARATIVE_FOUND)
        add_subdirectory(touch)
    else(QT_QTDECLARATIVE_FOUND)
        message(WARNING "Qt installation lacks Qt Declarative -
disabling touch based player")
    endif(QT_QTDECLARATIVE_FOUND)

If I put the find_package(Qt4) macro before the  find_package(KDE4)
macro, it works as expected. If I put that after, it does not. I guess
this is the key here. I do not know those macros actually and I do not
have time right now to look into their internal source, but that is
the culsprit somehow.

Best Regards,
Laszlo Papp


More information about the CMake mailing list