[cmake-developers] [CMake 0012147]: Absence of uic makes Qt4 detection fail
Mantis Bug Tracker
mantis at public.kitware.com
Tue May 3 04:57:40 EDT 2011
The following issue has been SUBMITTED.
======================================================================
http://public.kitware.com/Bug/view.php?id=12147
======================================================================
Reported By: Bernhard Rosenkraenzer
Assigned To:
======================================================================
Project: CMake
Issue ID: 12147
Category: Modules
Reproducibility: always
Severity: minor
Priority: normal
Status: new
======================================================================
Date Submitted: 2011-05-03 04:57 EDT
Last Modified: 2011-05-03 04:57 EDT
======================================================================
Summary: Absence of uic makes Qt4 detection fail
Description:
FindQt4.cmake, line 1091+, does
IF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND
QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE AND QT_QTCORE_LIBRARY)
SET( QT4_FOUND "YES" )
INCLUDE(FindPackageMessage)
FIND_PACKAGE_MESSAGE(Qt4 "Found Qt-Version ${QTVERSION} (using
${QT_QMAKE_EXECUTABLE})"
"[${QT_LIBRARY_DIR}][${QT_INCLUDE_DIR}][${QT_MOC_EXECUTABLE}][${QT_UIC_EXECUTABLE}][${QT_RCC_EXECUTABLE}]")
ELSE( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND
QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE AND QT_QTCORE_LIBRARY)
SET( QT4_FOUND "NO")
SET(QT_QMAKE_EXECUTABLE "${QT_QMAKE_EXECUTABLE}-NOTFOUND" CACHE FILEPATH
"Invalid qmake found" FORCE)
IF( Qt4_FIND_REQUIRED)
MESSAGE( FATAL_ERROR "Qt libraries, includes, moc, uic or/and rcc NOT
found!")
ENDIF( Qt4_FIND_REQUIRED)
ENDIF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND
I think QT_UIC_EXECUTABLE should be removed because UIC is hardly essential (you
need it only if you use Qt Designer), and it isn't built if Qt is built with the
"-no-gui" configure switch (useful e.g. for headless servers where you still
want to use tools that use QtCore, QtXml, QtNetwork and/or QtSql).
I'd argue that a missing uic shouldn't make Qt detection fail at all because
there's also plenty of Qt GUI code that doesn't use uic - but it definitely
shouldn't fail if QT_DONT_USE_QTGUI is set.
Steps to Reproduce:
1. Install Qt with -no-gui
2. Try to compile anything that uses FindQt4.cmake to locate
QtCore/QtXml/QtNetwork/QtSql
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
2011-05-03 04:57 Bernhard RosenkraenzerNew Issue
======================================================================
More information about the cmake-developers
mailing list