SVN commit 639611 by ctennis: This patch fixes finding Qt4 when installed as a framework on OS X. The original code simply implied that if Qt4 was installed as a framework, all of the components would be there. However, this patch actually verifies the components are installed and sets the appropriate _FOUND variables if they are found or not. Patch was originally submitted to kde-buildsystem. However, I'm guessing most current users aren't on OS X and using the framework install, so the impact is probably minimal at the moment. M +73 -12 FindQt4.cmake --- trunk/KDE/kdelibs/cmake/modules/FindQt4.cmake #639610:639611 @@ -553,20 +553,81 @@ IF (QT_USE_FRAMEWORKS) # If FIND_LIBRARY found libraries in Apple frameworks, we would NOT have # to jump through these hoops. - SET(QT_QTCORE_LIBRARY "-F${QT_LIBRARY_DIR} -framework QtCore" CACHE STRING "The QtCore library.") - SET(QT_QT3SUPPORT_LIBRARY "-framework Qt3Support" CACHE STRING "The Qt3Support library.") - SET(QT_QTGUI_LIBRARY "-framework QtGui" CACHE STRING "The QtGui library.") - SET(QT_QTNETWORK_LIBRARY "-framework QtNetwork" CACHE STRING "The QtNetwork library.") - SET(QT_QTOPENGL_LIBRARY "-framework QtOpenGL" CACHE STRING "The QtOpenGL library.") - SET(QT_QTSQL_LIBRARY "-framework QtSql" CACHE STRING "The QtSql library.") - SET(QT_QTXML_LIBRARY "-framework QtXml" CACHE STRING "The QtXml library.") - SET(QT_QTSVG_LIBRARY "-framework QtSvg" CACHE STRING "The QtSvg library.") - SET(QT_QTDBUS_LIBRARY "-framework QtDBus" CACHE STRING "The QtDBus library.") - SET(QT_QTTEST_LIBRARY "-framework QtTest" CACHE STRING "The QtTest library.") + IF(EXISTS ${QT_LIBRARY_DIR}/QtCore.framework) + SET(QT_QTCORE_FOUND TRUE) + SET(QT_QTCORE_LIBRARY "-F${QT_LIBRARY_DIR} -framework QtCore" CACHE STRING "The QtCore library.") + ELSE(EXISTS ${QT_LIBRARY_DIR}/QtCore.framework) + SET(QT_QTCORE_FOUND FALSE) + ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtCore.framework) + IF(EXISTS ${QT_LIBRARY_DIR}/QtGui.framework) + SET(QT_QTGUI_FOUND TRUE) + SET(QT_QTGUI_LIBRARY "-framework QtGui" CACHE STRING "The QtGui library.") + ELSE(EXISTS ${QT_LIBRARY_DIR}/QtGui.framework) + SET(QT_QTGUI_FOUND FALSE) + ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtGui.framework) + + IF(EXISTS ${QT_LIBRARY_DIR}/Qt3Support.framework) + SET(QT_QT3SUPPORT_FOUND TRUE) + SET(QT_QT3SUPPORT_LIBRARY "-framework Qt3Support" CACHE STRING "The Qt3Support library.") + ELSE(EXISTS ${QT_LIBRARY_DIR}/Qt3Support.framework) + SET(QT_QT3SUPPORT_FOUND FALSE) + ENDIF(EXISTS ${QT_LIBRARY_DIR}/Qt3Support.framework) + + IF(EXISTS ${QT_LIBRARY_DIR}/QtNetwork.framework) + SET(QT_QTNETWORK_FOUND TRUE) + SET(QT_QTNETWORK_LIBRARY "-framework QtNetwork" CACHE STRING "The QtNetwork library.") + ELSE(EXISTS ${QT_LIBRARY_DIR}/QtNetwork.framework) + SET(QT_QTNETWORK_FOUND FALSE) + ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtNetwork.framework) + + IF(EXISTS ${QT_LIBRARY_DIR}/QtOpenGL.framework) + SET(QT_QTOPENGL_FOUND TRUE) + SET(QT_QTOPENGL_LIBRARY "-framework QtOpenGL" CACHE STRING "The QtOpenGL library.") + ELSE(EXISTS ${QT_LIBRARY_DIR}/QtOpenGL.framework) + SET(QT_QTOPENGL_FOUND FALSE) + ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtOpenGL.framework) + + IF(EXISTS ${QT_LIBRARY_DIR}/QtSql.framework) + SET(QT_QTSQL_FOUND TRUE) + SET(QT_QTSQL_LIBRARY "-framework QtSql" CACHE STRING "The QtSql library.") + ELSE(EXISTS ${QT_LIBRARY_DIR}/QtSql.framework) + SET(QT_QTSQL_FOUND FALSE) + ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtSql.framework) + + IF(EXISTS ${QT_LIBRARY_DIR}/QtXml.framework) + SET(QT_QTXML_FOUND TRUE) + SET(QT_QTXML_LIBRARY "-framework QtXml" CACHE STRING "The QtXml library.") + ELSE(EXISTS ${QT_LIBRARY_DIR}/QtXml.framework) + SET(QT_QTXML_FOUND FALSE) + ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtXml.framework) + + IF(EXISTS ${QT_LIBRARY_DIR}/QtSvg.framework) + SET(QT_QTSVG_FOUND TRUE) + SET(QT_QTSVG_LIBRARY "-framework QtSvg" CACHE STRING "The QtSvg library.") + ELSE(EXISTS ${QT_LIBRARY_DIR}/QtSvg.framework) + SET(QT_QTSVG_FOUND FALSE) + ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtSvg.framework) + + IF(EXISTS ${QT_LIBRARY_DIR}/QtDBus.framework) + SET(QT_QTDBUS_FOUND TRUE) + SET(QT_QTDBUS_LIBRARY "-framework QtDBus" CACHE STRING "The QtDBus library.") + ELSE(EXISTS ${QT_LIBRARY_DIR}/QtDBus.framework) + SET(QT_QTDBUS_FOUND FALSE) + ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtDBus.framework) + + IF(EXISTS ${QT_LIBRARY_DIR}/QtTest.framework) + SET(QT_QTTEST_FOUND TRUE) + SET(QT_QTTEST_LIBRARY "-framework QtTest" CACHE STRING "The QtTest library.") + ELSE(EXISTS ${QT_LIBRARY_DIR}/QtTest.framework) + SET(QT_QTTEST_FOUND FALSE) + ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtTest.framework) + # WTF? why don't we have frameworks? :P - SET(QT_QTUITOOLS_LIBRARY "-L${QT_LIBRARY_DIR} -lQtUiTools" CACHE STRING "The QtUiTools library.") - SET(QT_QTSCRIPT_LIBRARY "-L${QT_LIBRARY_DIR} -lQtScript" CACHE STRING "The QtScript library.") + # Set QT_QTUITOOLS_LIBRARY + FIND_LIBRARY(QT_QTUITOOLS_LIBRARY NAMES QtUiTools QtUiTools4 PATHS ${QT_LIBRARY_DIR} ) + # Set QT_QTSCRIPT_LIBRARY + FIND_LIBRARY(QT_QTSCRIPT_LIBRARY NAMES QtScript QtScript4 PATHS ${QT_LIBRARY_DIR} ) ELSE (QT_USE_FRAMEWORKS)