diff options
| -rw-r--r-- | modules/FindQt4.cmake | 260 | 
1 files changed, 111 insertions, 149 deletions
| diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake index 0412f75c..91712888 100644 --- a/modules/FindQt4.cmake +++ b/modules/FindQt4.cmake @@ -300,7 +300,7 @@  # The qtmain library for Windows QT_QTMAIN_LIBRARY  #  # The Phonon library:             QT_PHONON_LIBRARY -# +#    # also defined, but NOT for general use are  #  QT_MOC_EXECUTABLE                   Where to find the moc tool.  #  QT_UIC_EXECUTABLE                   Where to find the uic tool. @@ -378,9 +378,9 @@ QT_CHECK_FLAG_EXISTS(-DQT_NO_DEBUG CMAKE_CXX_FLAGS_RELWITHDEBINFO "Release with  QT_CHECK_FLAG_EXISTS(-DQT_NO_DEBUG CMAKE_CXX_FLAGS_RELEASE "release")  QT_CHECK_FLAG_EXISTS(-DQT_NO_DEBUG CMAKE_CXX_FLAGS_MINSIZEREL "release minsize") +INCLUDE(MacroPushRequiredVars)  INCLUDE(CheckSymbolExists)  INCLUDE(MacroAddFileDependencies) -INCLUDE(MacroPushRequiredVars)  SET(QT_USE_FILE ${CMAKE_ROOT}/Modules/UseQt4.cmake) @@ -681,6 +681,37 @@ IF (QT4_QMAKE_FOUND)      SET(QT_MODULES ${QT_MODULES} QtMotif)    ENDIF(Q_WS_X11) +  IF(QT_QMAKE_CHANGED) +    FOREACH(QT_MODULE ${QT_MODULES}) +      STRING(TOUPPER ${QT_MODULE} _upper_qt_module) +      SET(QT_${_upper_qt_module}_INCLUDE_DIR NOTFOUND) +      SET(QT_${_upper_qt_module}_LIBRARY_RELEASE NOTFOUND) +      SET(QT_${_upper_qt_module}_LIBRARY_DEBUG NOTFOUND) +    ENDFOREACH(QT_MODULE) +    SET(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR NOTFOUND) +    SET(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NOTFOUND) +    SET(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NOTFOUND) +    SET(QT_QTASSISTANTCLIENT_INCLUDE_DIR NOTFOUND) +    SET(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NOTFOUND) +    SET(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG NOTFOUND) +    SET(QT_QTASSISTANT_INCLUDE_DIR NOTFOUND) +    SET(QT_QTASSISTANT_LIBRARY_RELEASE NOTFOUND) +    SET(QT_QTASSISTANT_LIBRARY_DEBUG NOTFOUND) +    SET(QT_QTCLUCENE_LIBRARY_RELEASE NOTFOUND) +    SET(QT_QTCLUCENE_LIBRARY_DEBUG NOTFOUND) +    SET(QT_QAXCONTAINER_INCLUDE_DIR NOTFOUND) +    SET(QT_QAXCONTAINER_LIBRARY_RELEASE NOTFOUND) +    SET(QT_QAXCONTAINER_LIBRARY_DEBUG NOTFOUND) +    SET(QT_QAXSERVER_INCLUDE_DIR NOTFOUND) +    SET(QT_QAXSERVER_LIBRARY_RELEASE NOTFOUND) +    SET(QT_QAXSERVER_LIBRARY_DEBUG NOTFOUND) +    IF(WIN32) +      SET(QT_QTMAIN_LIBRARY_DEBUG NOTFOUND) +      SET(QT_QTMAIN_LIBRARY_RELEASE NOTFOUND) +    ENDIF(WIN32) +    SET(QT_PHONON_INCLUDE_DIR NOTFOUND) +  ENDIF(QT_QMAKE_CHANGED) +    FOREACH(QT_MODULE ${QT_MODULES})      STRING(TOUPPER ${QT_MODULE} _upper_qt_module)      FIND_PATH(QT_${_upper_qt_module}_INCLUDE_DIR ${QT_MODULE} @@ -692,6 +723,7 @@ IF (QT4_QMAKE_FOUND)    ENDFOREACH(QT_MODULE)    IF(WIN32) +    SET(QT_MODULES ${QT_MODULES} QAxContainer QAxServer)      # Set QT_AXCONTAINER_INCLUDE_DIR and QT_AXSERVER_INCLUDE_DIR      FIND_PATH(QT_QAXCONTAINER_INCLUDE_DIR ActiveQt        PATHS @@ -728,7 +760,7 @@ IF (QT4_QMAKE_FOUND)      ${QT_LIBRARY_DIR}/QtAssistant.framework/Headers      NO_DEFAULT_PATH      ) -   +    # Set QT_QT_INCLUDE_DIR    FIND_PATH(QT_QT_INCLUDE_DIR qglobal.h      PATHS @@ -745,6 +777,7 @@ IF (QT4_QMAKE_FOUND)      ${QT_HEADERS_DIR}/phonon      NO_DEFAULT_PATH      ) +  SET(QT_MODULES ${QT_MODULES} phonon)    # Set QT_INCLUDE_DIR by removine "/QtCore" in the string ${QT_QTCORE_INCLUDE_DIR}    IF( QT_QTCORE_INCLUDE_DIR AND NOT QT_INCLUDE_DIR) @@ -792,133 +825,57 @@ IF (QT4_QMAKE_FOUND)    #    ######################################## +  # find the libraries +  FOREACH(QT_MODULE ${QT_MODULES}) +    STRING(TOUPPER ${QT_MODULE} _upper_qt_module) +    FIND_LIBRARY(QT_${_upper_qt_module}_LIBRARY_RELEASE  +                 NAMES ${QT_MODULE}${QT_LIBINFIX} ${QT_MODULE}${QT_LIBINFIX}4 +                 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH +        ) +    FIND_LIBRARY(QT_${_upper_qt_module}_LIBRARY_DEBUG  +                 NAMES ${QT_MODULE}${QT_LIBINFIX}_debug ${QT_MODULE}${QT_LIBINFIX}d ${QT_MODULE}${QT_LIBINFIX}d4 +                 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH +        ) +  ENDFOREACH(QT_MODULE) -  # Set QT_QTCORE_LIBRARY by searching for a lib with "QtCore."  as part of the filename -  FIND_LIBRARY(QT_QTCORE_LIBRARY NAMES QtCore QtCore4 QtCored4 QtCore_debug         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH ) - -  # Set QT_QT3SUPPORT_LIBRARY -  FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY NAMES Qt3Support Qt3Support_debug Qt3Support4 Qt3Supportd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTGUI_LIBRARY -  FIND_LIBRARY(QT_QTGUI_LIBRARY NAMES QtGui QtGui_debug QtGui_debug QtGui4 QtGuid4            PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTMOTIF_LIBRARY -  IF(Q_WS_X11) -    FIND_LIBRARY(QT_QTMOTIF_LIBRARY NAMES QtMotif  QtMotif_debug PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -  ENDIF(Q_WS_X11) - -  # Set QT_QTMULTIMEDIA_LIBRARY -  FIND_LIBRARY(QT_QTMULTIMEDIA_LIBRARY NAMES QtMultimedia QtMultimedia_debug QtMultimedia4 QtMultimediad4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTNETWORK_LIBRARY -  FIND_LIBRARY(QT_QTNETWORK_LIBRARY NAMES QtNetwork QtNetwork_debug QtNetwork4 QtNetworkd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTNSPLUGIN_LIBRARY -  FIND_LIBRARY(QT_QTNSPLUGIN_LIBRARY NAMES QtNsPlugin QtNsPlugin_debug PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTOPENGL_LIBRARY -  FIND_LIBRARY(QT_QTOPENGL_LIBRARY NAMES QtOpenGL QtOpenGL_debug QtOpenGL4 QtOpenGLd4    PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTSQL_LIBRARY -  FIND_LIBRARY(QT_QTSQL_LIBRARY NAMES QtSql QtSql_debug QtSql4 QtSqld4       PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTXML_LIBRARY -  FIND_LIBRARY(QT_QTXML_LIBRARY NAMES QtXml QtXml_debug QtXml4 QtXmld4       PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTSVG_LIBRARY -  FIND_LIBRARY(QT_QTSVG_LIBRARY NAMES QtSvg QtSvg_debug QtSvg4 QtSvgd4       PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTSCRIPT_LIBRARY -  FIND_LIBRARY(QT_QTSCRIPT_LIBRARY NAMES QtScript QtScript_debug QtScript4 QtScriptd4   PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTUITOOLS_LIBRARY -  FIND_LIBRARY(QT_QTUITOOLS_LIBRARY NAMES QtUiTools QtUiTools_debug QtUiTools4 QtUiToolsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTTEST_LIBRARY -  FIND_LIBRARY(QT_QTTEST_LIBRARY NAMES QtTest QtTest_debug QtTest4 QtTestd4          PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  FIND_LIBRARY(QT_QTDBUS_LIBRARY NAMES QtDBus QtDBus_debug QtDBus4 QtDBusd4         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  FIND_LIBRARY(QT_QTASSISTANTCLIENT_LIBRARY NAMES QtAssistantClient QtAssistantClient_debug QtAssistantClient4 QtAssistantClientd4         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  IF(WIN32) -    FIND_LIBRARY(QT_QAXSERVER_LIBRARY NAMES QAxServer QAxServer4 QAxServerd4         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) +  # QtUiTools not with other frameworks with binary installation (in /usr/lib) +  IF(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTUITOOLS_LIBRARY_RELEASE) +    FIND_LIBRARY(QT_QTUITOOLS_LIBRARY_RELEASE NAMES QtUiTools${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR}) +  ENDIF(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTUITOOLS_LIBRARY_RELEASE) -    FIND_LIBRARY(QT_QAXCONTAINER_LIBRARY NAMES QAxContainer QAxContainer4 QAxContainerd4         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -  ENDIF(WIN32) +  IF( NOT QT_QTCORE_LIBRARY_DEBUG AND NOT QT_QTCORE_LIBRARY_RELEASE ) +     +    # try dropping a hint if trying to use Visual Studio with Qt built by mingw +    IF(QT_LIBRARY_DIR AND MSVC) +      IF(EXISTS ${QT_LIBRARY_DIR}/libqtmain.a) +        MESSAGE( FATAL_ERROR "It appears you're trying to use Visual Studio with Qt built by mingw") +      ENDIF(EXISTS ${QT_LIBRARY_DIR}/libqtmain.a) +    ENDIF(QT_LIBRARY_DIR AND MSVC) -  FIND_LIBRARY(QT_QTHELP_LIBRARY NAMES QtHelp QtHelp_debug QtHelp4 QtHelpd4         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  FIND_LIBRARY(QT_QTWEBKIT_LIBRARY NAMES QtWebKit QtWebKit_debug QtWebKit4 QtWebKitd4         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  FIND_LIBRARY(QT_QTXMLPATTERNS_LIBRARY NAMES QtXmlPatterns QtXmlPatterns_debug QtXmlPatterns4 QtXmlPatternsd4         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  FIND_LIBRARY(QT_PHONON_LIBRARY NAMES phonon phonon4 phonon_debug phonond4    PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  FIND_LIBRARY(QT_QTSCRIPTTOOLS_LIBRARY NAMES QtScriptTools QtScriptTools_debug QtScriptTools4 QtScriptToolsd4         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  IF(MSVC) -    FIND_LIBRARY(QT_QTCORE_LIBRARY_RELEASE        NAMES QtCore4                PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTCORE_LIBRARY_DEBUG          NAMES QtCored4               PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY_RELEASE    NAMES Qt3Support4            PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY_DEBUG      NAMES Qt3Supportd4           PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTGUI_LIBRARY_RELEASE         NAMES QtGui4                 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTGUI_LIBRARY_DEBUG           NAMES QtGuid4                PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTMULTIMEDIA_LIBRARY_RELEASE  NAMES QtMultimedia4          PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTMULTIMEDIA_LIBRARY_DEBUG    NAMES QtMultimediad4         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTNETWORK_LIBRARY_RELEASE     NAMES QtNetwork4             PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTNETWORK_LIBRARY_DEBUG       NAMES QtNetworkd4            PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTOPENGL_LIBRARY_RELEASE      NAMES QtOpenGL4              PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTOPENGL_LIBRARY_DEBUG        NAMES QtOpenGLd4             PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTSQL_LIBRARY_RELEASE         NAMES QtSql4                 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTSQL_LIBRARY_DEBUG           NAMES QtSqld4                PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTXML_LIBRARY_RELEASE         NAMES QtXml4                 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTXML_LIBRARY_DEBUG           NAMES QtXmld4                PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTSVG_LIBRARY_RELEASE         NAMES QtSvg4                 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTSVG_LIBRARY_DEBUG           NAMES QtSvgd4                PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTSCRIPT_LIBRARY_RELEASE      NAMES QtScript4              PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTSCRIPT_LIBRARY_DEBUG        NAMES QtScriptd4             PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTUITOOLS_LIBRARY_RELEASE     NAMES QtUiTools QtUiTools4   PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTUITOOLS_LIBRARY_DEBUG       NAMES QtUiToolsd QtUiToolsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTTEST_LIBRARY_RELEASE        NAMES QtTest4                PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTTEST_LIBRARY_DEBUG          NAMES QtTestd4               PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTDBUS_LIBRARY_RELEASE        NAMES QtDBus4                PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTDBUS_LIBRARY_DEBUG          NAMES QtDBusd4               PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_RELEASE   NAMES QtAssistantClient4     PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_DEBUG     NAMES QtAssistantClientd4    PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QAXSERVER_LIBRARY_RELEASE     NAMES QAxServer              PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QAXSERVER_LIBRARY_DEBUG       NAMES QAxServerd4            PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QAXCONTAINER_LIBRARY_RELEASE  NAMES QAxContainer           PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QAXCONTAINER_LIBRARY_DEBUG    NAMES QAxContainerd4         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_RELEASE    NAMES QtDesigner4            PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_DEBUG      NAMES QtDesignerd4           PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NAMES QtDesignerComponents4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NAMES QtDesignerComponentsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTMAIN_LIBRARY_RELEASE        NAMES qtmain                 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTMAIN_LIBRARY_DEBUG          NAMES qtmaind                PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTSCRIPTTOOLS_LIBRARY_RELEASE NAMES QtScriptTools4         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -    FIND_LIBRARY(QT_QTSCRIPTTOOLS_LIBRARY_DEBUG   NAMES QtScriptToolsd4        PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) -  ENDIF(MSVC) - -  IF( NOT QT_QTCORE_LIBRARY )      IF(Qt4_FIND_REQUIRED)        MESSAGE( FATAL_ERROR "Could NOT find QtCore. Check ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log for more details.")      ENDIF(Qt4_FIND_REQUIRED) -  ENDIF( NOT QT_QTCORE_LIBRARY ) - -  # Set QT_QTASSISTANT_LIBRARY -  FIND_LIBRARY(QT_QTASSISTANT_LIBRARY NAMES QtAssistantClient QtAssistantClient4 QtAssistant QtAssistant4 QtAssistantd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) - -  # Set QT_QTDESIGNER_LIBRARY -  FIND_LIBRARY(QT_QTDESIGNER_LIBRARY NAMES QtDesigner QtDesigner_debug QtDesigner4 QtDesignerd4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH) +  ENDIF( NOT QT_QTCORE_LIBRARY_DEBUG AND NOT QT_QTCORE_LIBRARY_RELEASE )    # Set QT_QTDESIGNERCOMPONENTS_LIBRARY -  FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY NAMES QtDesignerComponents QtDesignerComponents_debug QtDesignerComponents4 QtDesignerComponentsd4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH) +  FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NAMES QtDesignerComponents${QT_LIBINFIX} QtDesignerComponents${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH) +  FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG   NAMES QtDesignerComponents${QT_LIBINFIX}_debug QtDesignerComponents${QT_LIBINFIX}d QtDesignerComponents${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)    # Set QT_QTMAIN_LIBRARY    IF(WIN32) -    FIND_LIBRARY(QT_QTMAIN_LIBRARY NAMES qtmain qtmaind PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) +    FIND_LIBRARY(QT_QTMAIN_LIBRARY_RELEASE NAMES qtmain${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR} +      NO_DEFAULT_PATH) +    FIND_LIBRARY(QT_QTMAIN_LIBRARY_DEBUG NAMES qtmain${QT_LIBINFIX}d PATHS ${QT_LIBRARY_DIR} +      NO_DEFAULT_PATH)    ENDIF(WIN32) +   +  # Set QT_QTASSISTANTCLIENT_LIBRARY +  FIND_LIBRARY(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH) +  FIND_LIBRARY(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG   NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) +   +  # Set QT_QTASSISTANT_LIBRARY +  FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 QtAssistant${QT_LIBINFIX} QtAssistant${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH) +  FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_DEBUG   NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 QtAssistant${QT_LIBINFIX}_debug QtAssistant${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)    # Set QT_QTHELP_LIBRARY    FIND_LIBRARY(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene${QT_LIBINFIX} QtCLucene${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH) @@ -935,44 +892,50 @@ IF (QT4_QMAKE_FOUND)    ############################################    MACRO (_QT4_ADJUST_LIB_VARS basename) -    IF (QT_${basename}_LIBRARY OR QT_${basename}_LIBRARY_DEBUG) - -      IF(MSVC) -        # Both set -        IF (QT_${basename}_LIBRARY_RELEASE AND QT_${basename}_LIBRARY_DEBUG) -          SET(QT_${basename}_LIBRARY optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG}) -        ENDIF (QT_${basename}_LIBRARY_RELEASE AND QT_${basename}_LIBRARY_DEBUG) - -        # Only debug was found -        IF (NOT QT_${basename}_LIBRARY_RELEASE AND QT_${basename}_LIBRARY_DEBUG) -          SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_DEBUG}) -        ENDIF (NOT QT_${basename}_LIBRARY_RELEASE AND QT_${basename}_LIBRARY_DEBUG) - -        # Only release was found -        IF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG) -          SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_RELEASE}) -        ENDIF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG) - -        # Hmm, is this used anywhere ? Yes, in UseQt4.cmake. We are currently incompatible :-( -        SET(QT_${basename}_LIBRARIES optimized ${QT_${basename}_LIBRARY} debug ${QT_${basename}_LIBRARY_DEBUG}) - -      ENDIF(MSVC) - -      SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY} CACHE FILEPATH "The Qt ${basename} library") +    IF (QT_${basename}_LIBRARY_RELEASE OR QT_${basename}_LIBRARY_DEBUG) + +      # if only the release version was found, set the debug variable also to the release version +      IF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG) +        SET(QT_${basename}_LIBRARY_DEBUG ${QT_${basename}_LIBRARY_RELEASE}) +        SET(QT_${basename}_LIBRARY       ${QT_${basename}_LIBRARY_RELEASE}) +        SET(QT_${basename}_LIBRARIES     ${QT_${basename}_LIBRARY_RELEASE}) +      ENDIF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG) + +      # if only the debug version was found, set the release variable also to the debug version +      IF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE) +        SET(QT_${basename}_LIBRARY_RELEASE ${QT_${basename}_LIBRARY_DEBUG}) +        SET(QT_${basename}_LIBRARY         ${QT_${basename}_LIBRARY_DEBUG}) +        SET(QT_${basename}_LIBRARIES       ${QT_${basename}_LIBRARY_DEBUG}) +      ENDIF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE) + +      IF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE) +        # if the generator supports configuration types then set +        # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value +        IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE) +          SET(QT_${basename}_LIBRARY       optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG}) +        ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE) +          # if there are no configuration types and CMAKE_BUILD_TYPE has no value +          # then just use the release libraries +          SET(QT_${basename}_LIBRARY       ${QT_${basename}_LIBRARY_RELEASE} ) +        ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE) +        SET(QT_${basename}_LIBRARIES       optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG}) +      ENDIF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE) + +      SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY} CACHE STRING "The Qt ${basename} library" FORCE)        IF (QT_${basename}_LIBRARY)          SET(QT_${basename}_FOUND 1)        ENDIF (QT_${basename}_LIBRARY) -       -    ENDIF (QT_${basename}_LIBRARY OR QT_${basename}_LIBRARY_DEBUG) -     + +    ENDIF (QT_${basename}_LIBRARY_RELEASE OR QT_${basename}_LIBRARY_DEBUG) +      IF (QT_${basename}_INCLUDE_DIR)        #add the include directory to QT_INCLUDES        SET(QT_INCLUDES "${QT_${basename}_INCLUDE_DIR}" ${QT_INCLUDES})      ENDIF (QT_${basename}_INCLUDE_DIR)      # Make variables changeble to the advanced user -    MARK_AS_ADVANCED(QT_${basename}_LIBRARY QT_${basename}_INCLUDE_DIR) +    MARK_AS_ADVANCED(QT_${basename}_LIBRARY QT_${basename}_LIBRARY_RELEASE QT_${basename}_LIBRARY_DEBUG QT_${basename}_INCLUDE_DIR)    ENDMACRO (_QT4_ADJUST_LIB_VARS) @@ -1003,7 +966,6 @@ IF (QT4_QMAKE_FOUND)    _QT4_ADJUST_LIB_VARS(QTXMLPATTERNS)    _QT4_ADJUST_LIB_VARS(PHONON) -    # platform dependent libraries    IF(Q_WS_X11)      _QT4_ADJUST_LIB_VARS(QTMOTIF) @@ -1153,8 +1115,8 @@ IF (QT4_QMAKE_FOUND)      IF( NOT Qt4_FIND_QUIETLY)        MESSAGE(STATUS "Found Qt-Version ${QTVERSION} (using ${QT_QMAKE_EXECUTABLE})")      ENDIF( NOT Qt4_FIND_QUIETLY) -  ELSE( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND  -      QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE AND QT_QTCORE_LIBRARY) +  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) | 
