ENH: make sure the correct qmake is used

This commit is contained in:
Bill Hoffman 2005-09-12 09:00:55 -04:00
parent b6880f295d
commit f52977a9f7
2 changed files with 542 additions and 533 deletions

View File

@ -41,7 +41,7 @@ ENDIF(GLOB_TEMP_VAR)
SET(GLOB_TEMP_VAR) SET(GLOB_TEMP_VAR)
# now find qmake # now find qmake
FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake PATHS "${QT_SEARCH_PATH}/bin" "$ENV{QTDIR}/bin") FIND_PROGRAM(QT_QMAKE_EXECUTABLE_FINDQT NAMES qmake PATHS "${QT_SEARCH_PATH}/bin" "$ENV{QTDIR}/bin")
IF(QT_QMAKE_EXECUTABLE) IF(QT_QMAKE_EXECUTABLE)
EXEC_PROGRAM(${QMAKE_PATH} ARGS "-query QT_VERSION" EXEC_PROGRAM(${QMAKE_PATH} ARGS "-query QT_VERSION"
OUTPUT_VARIABLE QTVERSION) OUTPUT_VARIABLE QTVERSION)
@ -131,4 +131,4 @@ ELSE(NOT QT3_INSTALLED AND NOT QT4_INSTALLED)
ENDIF(QT_REQUIRED) ENDIF(QT_REQUIRED)
ENDIF(NOT QT_FOUND AND DESIRED_QT_VERSION) ENDIF(NOT QT_FOUND AND DESIRED_QT_VERSION)
ENDIF(NOT QT3_INSTALLED AND NOT QT4_INSTALLED) ENDIF(NOT QT3_INSTALLED AND NOT QT4_INSTALLED)
MARK_AS_ADVANCED(QT3_QGLOBAL_H_FILE QT4_QGLOBAL_H_FILE QT_QMAKE_EXECUTABLE) MARK_AS_ADVANCED(QT3_QGLOBAL_H_FILE QT4_QGLOBAL_H_FILE QT_QMAKE_EXECUTABLE_FINDQT)

View File

@ -117,19 +117,26 @@ ENDIF(WIN32)
# check for qmake # check for qmake
FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake PATHS FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake PATHS
$ENV{QTDIR}/bin
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin" "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
$ENV{QTDIR}/bin
) )
IF(QT_QMAKE_EXECUTABLE)
# Set QT_LIBRARY_DIR EXEC_PROGRAM(${QMAKE_PATH} ARGS "-query QT_VERSION"
IF(NOT QT_LIBRARY_DIR) OUTPUT_VARIABLE QTVERSION)
IF(QTVERSION MATCHES "4.*")
SET(QT4_QMAKE_FOUND TRUE)
ENDIF(QTVERSION MATCHES "4.*")
ENDIF(QT_QMAKE_EXECUTABLE)
IF(QT4_QMAKE_FOUND)
# Set QT_LIBRARY_DIR
IF(NOT QT_LIBRARY_DIR)
EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE} EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE}
ARGS "-query QT_INSTALL_LIBS" ARGS "-query QT_INSTALL_LIBS"
OUTPUT_VARIABLE QT_LIBRARY_DIR_TMP ) OUTPUT_VARIABLE QT_LIBRARY_DIR_TMP )
SET(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE PATH "Qt library dir") SET(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE PATH "Qt library dir")
ENDIF(NOT QT_LIBRARY_DIR) ENDIF(NOT QT_LIBRARY_DIR)
IF (APPLE) IF (APPLE)
IF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework) IF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
SET(QT_USE_FRAMEWORKS ON SET(QT_USE_FRAMEWORKS ON
CACHE BOOL "Set to ON if Qt build uses frameworks.") CACHE BOOL "Set to ON if Qt build uses frameworks.")
@ -139,14 +146,14 @@ IF (APPLE)
ENDIF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework) ENDIF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
MARK_AS_ADVANCED(QT_USE_FRAMEWORKS) MARK_AS_ADVANCED(QT_USE_FRAMEWORKS)
ENDIF (APPLE) ENDIF (APPLE)
######################################## ########################################
# #
# Setting the INCLUDE-Variables # Setting the INCLUDE-Variables
# #
######################################## ########################################
IF (NOT QT_HEADERS_DIR) IF (NOT QT_HEADERS_DIR)
# Set QT_QT_INCLUDE_DIR by searching for qglobal.h # Set QT_QT_INCLUDE_DIR by searching for qglobal.h
IF(QT_QMAKE_EXECUTABLE) IF(QT_QMAKE_EXECUTABLE)
EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE} EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE}
@ -154,8 +161,8 @@ IF (NOT QT_HEADERS_DIR)
OUTPUT_VARIABLE qt_headers ) OUTPUT_VARIABLE qt_headers )
SET(QT_HEADERS_DIR ${qt_headers} CACHE INTERNAL "") SET(QT_HEADERS_DIR ${qt_headers} CACHE INTERNAL "")
ENDIF(QT_QMAKE_EXECUTABLE) ENDIF(QT_QMAKE_EXECUTABLE)
ENDIF (NOT QT_HEADERS_DIR) ENDIF (NOT QT_HEADERS_DIR)
FIND_PATH( QT_QT_INCLUDE_DIR qglobal.h FIND_PATH( QT_QT_INCLUDE_DIR qglobal.h
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/include/Qt" "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/include/Qt"
${QT_HEADERS_DIR}/Qt ${QT_HEADERS_DIR}/Qt
${QT_LIBRARY_DIR}/QtCore.framework/Headers ${QT_LIBRARY_DIR}/QtCore.framework/Headers
@ -168,92 +175,92 @@ FIND_PATH( QT_QT_INCLUDE_DIR qglobal.h
"C:/Program Files/qt/include/Qt" "C:/Program Files/qt/include/Qt"
/usr/include/qt4/Qt) /usr/include/qt4/Qt)
# Set QT_INCLUDE_DIR by removine "/Qt" in the string ${QT_QT_INCLUDE_DIR} # Set QT_INCLUDE_DIR by removine "/Qt" in the string ${QT_QT_INCLUDE_DIR}
IF( QT_QT_INCLUDE_DIR AND NOT QT_INCLUDE_DIR) IF( QT_QT_INCLUDE_DIR AND NOT QT_INCLUDE_DIR)
IF (QT_USE_FRAMEWORKS) IF (QT_USE_FRAMEWORKS)
SET(QT_INCLUDE_DIR ${QT_HEADERS_DIR}) SET(QT_INCLUDE_DIR ${QT_HEADERS_DIR})
ELSE (QT_USE_FRAMEWORKS) ELSE (QT_USE_FRAMEWORKS)
STRING( REGEX REPLACE "/Qt$" "" qt4_include_dir ${QT_QT_INCLUDE_DIR}) STRING( REGEX REPLACE "/Qt$" "" qt4_include_dir ${QT_QT_INCLUDE_DIR})
SET( QT_INCLUDE_DIR ${qt4_include_dir} CACHE PATH "") SET( QT_INCLUDE_DIR ${qt4_include_dir} CACHE PATH "")
ENDIF (QT_USE_FRAMEWORKS) ENDIF (QT_USE_FRAMEWORKS)
ENDIF( QT_QT_INCLUDE_DIR AND NOT QT_INCLUDE_DIR) ENDIF( QT_QT_INCLUDE_DIR AND NOT QT_INCLUDE_DIR)
IF( NOT QT_INCLUDE_DIR) IF( NOT QT_INCLUDE_DIR)
IF( NOT Qt_FIND_QUIETLY AND Qt_FIND_REQUIRED) IF( NOT Qt_FIND_QUIETLY AND Qt_FIND_REQUIRED)
MESSAGE( SEND_ERROR "Could not find qglobal.h") MESSAGE( SEND_ERROR "Could not find qglobal.h")
ENDIF( NOT Qt_FIND_QUIETLY AND Qt_FIND_REQUIRED) ENDIF( NOT Qt_FIND_QUIETLY AND Qt_FIND_REQUIRED)
ENDIF( NOT QT_INCLUDE_DIR) ENDIF( NOT QT_INCLUDE_DIR)
IF (QT_USE_FRAMEWORKS) IF (QT_USE_FRAMEWORKS)
SET(QT_DEFINITIONS ${QT_DEFINITIONS} SET(QT_DEFINITIONS ${QT_DEFINITIONS}
-F${QT_LIBRARY_DIR} -F${QT_LIBRARY_DIR}
) )
ENDIF (QT_USE_FRAMEWORKS) ENDIF (QT_USE_FRAMEWORKS)
# Set QT_QT3SUPPORT_INCLUDE_DIR # Set QT_QT3SUPPORT_INCLUDE_DIR
FIND_PATH( QT_QT3SUPPORT_INCLUDE_DIR Qt3Support FIND_PATH( QT_QT3SUPPORT_INCLUDE_DIR Qt3Support
${QT_INCLUDE_DIR}/Qt3Support ${QT_INCLUDE_DIR}/Qt3Support
${QT_LIBRARY_DIR}/Qt3Support.framework/Headers ${QT_LIBRARY_DIR}/Qt3Support.framework/Headers
) )
# Set QT_QTCORE_INCLUDE_DIR # Set QT_QTCORE_INCLUDE_DIR
FIND_PATH( QT_QTCORE_INCLUDE_DIR QtCore FIND_PATH( QT_QTCORE_INCLUDE_DIR QtCore
${QT_INCLUDE_DIR}/QtCore ${QT_INCLUDE_DIR}/QtCore
${QT_LIBRARY_DIR}/QtCore.framework/Headers ${QT_LIBRARY_DIR}/QtCore.framework/Headers
) )
# Set QT_QTGUI_INCLUDE_DIR # Set QT_QTGUI_INCLUDE_DIR
FIND_PATH( QT_QTGUI_INCLUDE_DIR QtGui FIND_PATH( QT_QTGUI_INCLUDE_DIR QtGui
${QT_INCLUDE_DIR}/QtGui ${QT_INCLUDE_DIR}/QtGui
${QT_LIBRARY_DIR}/QtGui.framework/Headers ${QT_LIBRARY_DIR}/QtGui.framework/Headers
) )
# Set QT_QTMOTIF_INCLUDE_DIR # Set QT_QTMOTIF_INCLUDE_DIR
FIND_PATH( QT_QTMOTIF_INCLUDE_DIR QtMotif ${QT_INCLUDE_DIR}/QtMotif) FIND_PATH( QT_QTMOTIF_INCLUDE_DIR QtMotif ${QT_INCLUDE_DIR}/QtMotif)
# Set QT_QTNETWORK_INCLUDE_DIR # Set QT_QTNETWORK_INCLUDE_DIR
FIND_PATH( QT_QTNETWORK_INCLUDE_DIR QtNetwork FIND_PATH( QT_QTNETWORK_INCLUDE_DIR QtNetwork
${QT_INCLUDE_DIR}/QtNetwork ${QT_INCLUDE_DIR}/QtNetwork
${QT_LIBRARY_DIR}/QtNetwork.framework/Headers ${QT_LIBRARY_DIR}/QtNetwork.framework/Headers
) )
# Set QT_QTNSPLUGIN_INCLUDE_DIR # Set QT_QTNSPLUGIN_INCLUDE_DIR
FIND_PATH( QT_QTNSPLUGIN_INCLUDE_DIR QtNsPlugin FIND_PATH( QT_QTNSPLUGIN_INCLUDE_DIR QtNsPlugin
${QT_INCLUDE_DIR}/QtNsPlugin ${QT_INCLUDE_DIR}/QtNsPlugin
${QT_LIBRARY_DIR}/QtNsPlugin.framework/Headers ${QT_LIBRARY_DIR}/QtNsPlugin.framework/Headers
) )
# Set QT_QTOPENGL_INCLUDE_DIR # Set QT_QTOPENGL_INCLUDE_DIR
FIND_PATH( QT_QTOPENGL_INCLUDE_DIR QtOpenGL FIND_PATH( QT_QTOPENGL_INCLUDE_DIR QtOpenGL
${QT_INCLUDE_DIR}/QtOpenGL ${QT_INCLUDE_DIR}/QtOpenGL
${QT_LIBRARY_DIR}/QtOpenGL.framework/Headers ${QT_LIBRARY_DIR}/QtOpenGL.framework/Headers
) )
# Set QT_QTSQL_INCLUDE_DIR # Set QT_QTSQL_INCLUDE_DIR
FIND_PATH( QT_QTSQL_INCLUDE_DIR QtSql FIND_PATH( QT_QTSQL_INCLUDE_DIR QtSql
${QT_INCLUDE_DIR}/QtSql ${QT_INCLUDE_DIR}/QtSql
${QT_LIBRARY_DIR}/QtSql.framework/Headers ${QT_LIBRARY_DIR}/QtSql.framework/Headers
) )
# Set QT_QTXML_INCLUDE_DIR # Set QT_QTXML_INCLUDE_DIR
FIND_PATH( QT_QTXML_INCLUDE_DIR QtXml FIND_PATH( QT_QTXML_INCLUDE_DIR QtXml
${QT_INCLUDE_DIR}/QtXml ${QT_INCLUDE_DIR}/QtXml
${QT_LIBRARY_DIR}/QtXml.framework/Headers ${QT_LIBRARY_DIR}/QtXml.framework/Headers
) )
# Set QT_QTASSISTANT_INCLUDE_DIR # Set QT_QTASSISTANT_INCLUDE_DIR
FIND_PATH( QT_QTASSISTANT_INCLUDE_DIR QtAssistant FIND_PATH( QT_QTASSISTANT_INCLUDE_DIR QtAssistant
${QT_INCLUDE_DIR}/QtAssistant ${QT_INCLUDE_DIR}/QtAssistant
${QT_HEADERS_DIR}/QtAssistant ${QT_HEADERS_DIR}/QtAssistant
) )
# Set QT_QTDESIGNER_INCLUDE_DIR # Set QT_QTDESIGNER_INCLUDE_DIR
FIND_PATH( QT_QTDESIGNER_INCLUDE_DIR QDesignerComponents FIND_PATH( QT_QTDESIGNER_INCLUDE_DIR QDesignerComponents
${QT_INCLUDE_DIR}/QtDesigner ${QT_INCLUDE_DIR}/QtDesigner
${QT_HEADERS_DIR}/QtDesigner ${QT_HEADERS_DIR}/QtDesigner
) )
# Make variables changeble to the advanced user # Make variables changeble to the advanced user
MARK_AS_ADVANCED( MARK_AS_ADVANCED(
QT_LIBRARY_DIR QT_LIBRARY_DIR
QT_INCLUDE_DIR QT_INCLUDE_DIR
QT_QT_INCLUDE_DIR QT_QT_INCLUDE_DIR
@ -270,8 +277,8 @@ MARK_AS_ADVANCED(
QT_QTXML_INCLUDE_DIR QT_QTXML_INCLUDE_DIR
) )
# Set QT_INCLUDES # Set QT_INCLUDES
SET( QT_INCLUDES SET( QT_INCLUDES
${QT_INCLUDE_DIR} ${QT_INCLUDE_DIR}
${QT_QT_INCLUDE_DIR} ${QT_QT_INCLUDE_DIR}
${QT_QT3SUPPORT_INCLUDE_DIR} ${QT_QT3SUPPORT_INCLUDE_DIR}
@ -288,13 +295,13 @@ SET( QT_INCLUDES
${QT_QTXML_INCLUDE_DIR} ) ${QT_QTXML_INCLUDE_DIR} )
######################################## ########################################
# #
# Setting the LIBRARY-Variables # Setting the LIBRARY-Variables
# #
######################################## ########################################
IF (QT_USE_FRAMEWORKS) IF (QT_USE_FRAMEWORKS)
# If FIND_LIBRARY found libraries in Apple frameworks, we would not have # If FIND_LIBRARY found libraries in Apple frameworks, we would not have
# to jump through these hoops. # to jump through these hoops.
SET(QT_QTCORE_LIBRARY "-F${QT_LIBRARY_DIR} -framework QtCore" SET(QT_QTCORE_LIBRARY "-F${QT_LIBRARY_DIR} -framework QtCore"
@ -325,7 +332,7 @@ IF (QT_USE_FRAMEWORKS)
CACHE STRING "The QtXml library.") CACHE STRING "The QtXml library.")
SET(QT_QTXML_LIBRARY_DEBUG "-framework QtXml" SET(QT_QTXML_LIBRARY_DEBUG "-framework QtXml"
CACHE STRING "The QtXml library.") CACHE STRING "The QtXml library.")
ELSE (QT_USE_FRAMEWORKS) ELSE (QT_USE_FRAMEWORKS)
# Set QT_QTCORE_LIBRARY by searching for a lib with "QtCore." as part of # Set QT_QTCORE_LIBRARY by searching for a lib with "QtCore." as part of
# the filename # the filename
@ -389,18 +396,18 @@ ELSE (QT_USE_FRAMEWORKS)
FIND_LIBRARY(QT_QTXML_LIBRARY NAMES QtXml QtXml4 PATHS ${QT_LIBRARY_DIR}) FIND_LIBRARY(QT_QTXML_LIBRARY NAMES QtXml QtXml4 PATHS ${QT_LIBRARY_DIR})
FIND_LIBRARY(QT_QTXML_LIBRARY_DEBUG NAMES QtXml_debug QtXmld4 PATHS ${QT_LIBRARY_DIR}) FIND_LIBRARY(QT_QTXML_LIBRARY_DEBUG NAMES QtXml_debug QtXmld4 PATHS ${QT_LIBRARY_DIR})
ENDIF (QT_USE_FRAMEWORKS) ENDIF (QT_USE_FRAMEWORKS)
# Set QT_QTASSISTANT_LIBRARY # Set QT_QTASSISTANT_LIBRARY
FIND_LIBRARY(QT_QTASSISTANT_LIBRARY NAMES QtAssistant QtAssistant4 PATHS ${QT_LIBRARY_DIR}) FIND_LIBRARY(QT_QTASSISTANT_LIBRARY NAMES QtAssistant QtAssistant4 PATHS ${QT_LIBRARY_DIR})
FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_DEBUG NAMES QtAssistant_debug QtAssistantd4 PATHS ${QT_LIBRARY_DIR}) FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_DEBUG NAMES QtAssistant_debug QtAssistantd4 PATHS ${QT_LIBRARY_DIR})
# Set QT_QTDESIGNER_LIBRARY # Set QT_QTDESIGNER_LIBRARY
FIND_LIBRARY(QT_QTDESIGNER_LIBRARY NAMES QtDesigner QtDesigner4 PATHS ${QT_LIBRARY_DIR}) FIND_LIBRARY(QT_QTDESIGNER_LIBRARY NAMES QtDesigner QtDesigner4 PATHS ${QT_LIBRARY_DIR})
FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_DEBUG NAMES QtDesigner_debug QtDesignerd4 PATHS ${QT_LIBRARY_DIR}) FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_DEBUG NAMES QtDesigner_debug QtDesignerd4 PATHS ${QT_LIBRARY_DIR})
# Make variables changeble to the advanced user # Make variables changeble to the advanced user
MARK_AS_ADVANCED( MARK_AS_ADVANCED(
QT_QT3SUPPORT_LIBRARY QT_QT3SUPPORT_LIBRARY
QT_QTASSISTANT_LIBRARY QT_QTASSISTANT_LIBRARY
QT_QTCORE_LIBRARY QT_QTCORE_LIBRARY
@ -413,8 +420,8 @@ MARK_AS_ADVANCED(
QT_QTSQL_LIBRARY QT_QTSQL_LIBRARY
QT_QTXML_LIBRARY ) QT_QTXML_LIBRARY )
# Make variables changeble to the advanced user # Make variables changeble to the advanced user
MARK_AS_ADVANCED( MARK_AS_ADVANCED(
QT_QT3SUPPORT_LIBRARY_DEBUG QT_QT3SUPPORT_LIBRARY_DEBUG
QT_QTASSISTANT_LIBRARY_DEBUG QT_QTASSISTANT_LIBRARY_DEBUG
QT_QTCORE_LIBRARY_DEBUG QT_QTCORE_LIBRARY_DEBUG
@ -427,102 +434,102 @@ MARK_AS_ADVANCED(
QT_QTSQL_LIBRARY_DEBUG QT_QTSQL_LIBRARY_DEBUG
QT_QTXML_LIBRARY_DEBUG ) QT_QTXML_LIBRARY_DEBUG )
############################################ ############################################
# #
# Check the existence of the libraries. # Check the existence of the libraries.
# #
############################################ ############################################
IF (QT_QTCORE_INCLUDE_DIR AND QT_QTCORE_LIBRARY) IF (QT_QTCORE_INCLUDE_DIR AND QT_QTCORE_LIBRARY)
SET(QT_QTCORE_FOUND 1) SET(QT_QTCORE_FOUND 1)
IF (NOT QT_QTCORE_LIBRARY_DEBUG) IF (NOT QT_QTCORE_LIBRARY_DEBUG)
SET(QT_QTCORE_LIBRARY_DEBUG ${QT_QTCORE_LIBRARY}) SET(QT_QTCORE_LIBRARY_DEBUG ${QT_QTCORE_LIBRARY})
ENDIF (NOT QT_QTCORE_LIBRARY_DEBUG) ENDIF (NOT QT_QTCORE_LIBRARY_DEBUG)
ENDIF (QT_QTCORE_INCLUDE_DIR AND QT_QTCORE_LIBRARY) ENDIF (QT_QTCORE_INCLUDE_DIR AND QT_QTCORE_LIBRARY)
IF (QT_QTGUI_INCLUDE_DIR AND QT_QTGUI_LIBRARY) IF (QT_QTGUI_INCLUDE_DIR AND QT_QTGUI_LIBRARY)
SET(QT_QTGUI_FOUND 1) SET(QT_QTGUI_FOUND 1)
IF (NOT QT_QTGUI_LIBRARY_DEBUG) IF (NOT QT_QTGUI_LIBRARY_DEBUG)
SET(QT_QTGUI_LIBRARY_DEBUG ${QT_QTGUI_LIBRARY}) SET(QT_QTGUI_LIBRARY_DEBUG ${QT_QTGUI_LIBRARY})
ENDIF (NOT QT_QTGUI_LIBRARY_DEBUG) ENDIF (NOT QT_QTGUI_LIBRARY_DEBUG)
ENDIF (QT_QTGUI_INCLUDE_DIR AND QT_QTGUI_LIBRARY) ENDIF (QT_QTGUI_INCLUDE_DIR AND QT_QTGUI_LIBRARY)
IF (QT_QT3SUPPORT_INCLUDE_DIR AND QT_QT3SUPPORT_LIBRARY) IF (QT_QT3SUPPORT_INCLUDE_DIR AND QT_QT3SUPPORT_LIBRARY)
SET(QT_QT3SUPPORT_FOUND 1) SET(QT_QT3SUPPORT_FOUND 1)
IF (NOT QT_QT3SUPPORT_LIBRARY_DEBUG) IF (NOT QT_QT3SUPPORT_LIBRARY_DEBUG)
SET(QT_QT3SUPPORT_LIBRARY_DEBUG ${QT_QT3SUPPORT_LIBRARY}) SET(QT_QT3SUPPORT_LIBRARY_DEBUG ${QT_QT3SUPPORT_LIBRARY})
ENDIF (NOT QT_QT3SUPPORT_LIBRARY_DEBUG) ENDIF (NOT QT_QT3SUPPORT_LIBRARY_DEBUG)
ENDIF (QT_QT3SUPPORT_INCLUDE_DIR AND QT_QT3SUPPORT_LIBRARY) ENDIF (QT_QT3SUPPORT_INCLUDE_DIR AND QT_QT3SUPPORT_LIBRARY)
IF (QT_QTASSISTANT_INCLUDE_DIR AND QT_QTASSISTANT_LIBRARY) IF (QT_QTASSISTANT_INCLUDE_DIR AND QT_QTASSISTANT_LIBRARY)
SET(QT_QTASSISTANT_FOUND 1) SET(QT_QTASSISTANT_FOUND 1)
IF (NOT QT_QTASSISTANT_LIBRARY_DEBUG) IF (NOT QT_QTASSISTANT_LIBRARY_DEBUG)
SET(QT_QTASSISTANT_LIBRARY_DEBUG ${QT_QTASSISTANT_LIBRARY}) SET(QT_QTASSISTANT_LIBRARY_DEBUG ${QT_QTASSISTANT_LIBRARY})
ENDIF (NOT QT_QTASSISTANT_LIBRARY_DEBUG) ENDIF (NOT QT_QTASSISTANT_LIBRARY_DEBUG)
ENDIF (QT_QTASSISTANT_INCLUDE_DIR AND QT_QTASSISTANT_LIBRARY) ENDIF (QT_QTASSISTANT_INCLUDE_DIR AND QT_QTASSISTANT_LIBRARY)
IF (QT_QTDESIGNER_INCLUDE_DIR AND QT_QTDESIGNER_LIBRARY) IF (QT_QTDESIGNER_INCLUDE_DIR AND QT_QTDESIGNER_LIBRARY)
SET(QT_QTDESIGNER_FOUND 1) SET(QT_QTDESIGNER_FOUND 1)
IF (NOT QT_QTDESIGNER_LIBRARY_DEBUG) IF (NOT QT_QTDESIGNER_LIBRARY_DEBUG)
SET(QT_QTDESIGNER_LIBRARY_DEBUG ${QT_QTDESIGNER_LIBRARY}) SET(QT_QTDESIGNER_LIBRARY_DEBUG ${QT_QTDESIGNER_LIBRARY})
ENDIF (NOT QT_QTDESIGNER_LIBRARY_DEBUG) ENDIF (NOT QT_QTDESIGNER_LIBRARY_DEBUG)
ENDIF (QT_QTDESIGNER_INCLUDE_DIR AND QT_QTDESIGNER_LIBRARY) ENDIF (QT_QTDESIGNER_INCLUDE_DIR AND QT_QTDESIGNER_LIBRARY)
IF (QT_QTMOTIF_INCLUDE_DIR AND QT_QTMOTIF_LIBRARY) IF (QT_QTMOTIF_INCLUDE_DIR AND QT_QTMOTIF_LIBRARY)
SET(QT_QTMOTIF_FOUND 1) SET(QT_QTMOTIF_FOUND 1)
IF (NOT QT_QTMOTIF_LIBRARY_DEBUG) IF (NOT QT_QTMOTIF_LIBRARY_DEBUG)
SET(QT_QTMOTIF_LIBRARY_DEBUG ${QT_QTMOTIF_LIBRARY}) SET(QT_QTMOTIF_LIBRARY_DEBUG ${QT_QTMOTIF_LIBRARY})
ENDIF (NOT QT_QTMOTIF_LIBRARY_DEBUG) ENDIF (NOT QT_QTMOTIF_LIBRARY_DEBUG)
ENDIF (QT_QTMOTIF_INCLUDE_DIR AND QT_QTMOTIF_LIBRARY) ENDIF (QT_QTMOTIF_INCLUDE_DIR AND QT_QTMOTIF_LIBRARY)
IF (QT_QTNETWORK_INCLUDE_DIR AND QT_QTNETWORK_LIBRARY) IF (QT_QTNETWORK_INCLUDE_DIR AND QT_QTNETWORK_LIBRARY)
SET(QT_QTNETWORK_FOUND 1) SET(QT_QTNETWORK_FOUND 1)
IF (NOT QT_QTNETWORK_LIBRARY_DEBUG) IF (NOT QT_QTNETWORK_LIBRARY_DEBUG)
SET(QT_QTNETWORK_LIBRARY_DEBUG ${QT_QTNETWORK_LIBRARY}) SET(QT_QTNETWORK_LIBRARY_DEBUG ${QT_QTNETWORK_LIBRARY})
ENDIF (NOT QT_QTNETWORK_LIBRARY_DEBUG) ENDIF (NOT QT_QTNETWORK_LIBRARY_DEBUG)
ENDIF (QT_QTNETWORK_INCLUDE_DIR AND QT_QTNETWORK_LIBRARY) ENDIF (QT_QTNETWORK_INCLUDE_DIR AND QT_QTNETWORK_LIBRARY)
IF (QT_QTNSPLUGIN_INCLUDE_DIR AND QT_QTNSPLUGIN_LIBRARY) IF (QT_QTNSPLUGIN_INCLUDE_DIR AND QT_QTNSPLUGIN_LIBRARY)
SET(QT_QTNSPLUGIN_FOUND 1) SET(QT_QTNSPLUGIN_FOUND 1)
IF (NOT QT_QTNSPLUGIN_LIBRARY_DEBUG) IF (NOT QT_QTNSPLUGIN_LIBRARY_DEBUG)
SET(QT_QTNSPLUGIN_LIBRARY_DEBUG ${QT_QTNSPLUGIN_LIBRARY}) SET(QT_QTNSPLUGIN_LIBRARY_DEBUG ${QT_QTNSPLUGIN_LIBRARY})
ENDIF (NOT QT_QTNSPLUGIN_LIBRARY_DEBUG) ENDIF (NOT QT_QTNSPLUGIN_LIBRARY_DEBUG)
ENDIF (QT_QTNSPLUGIN_INCLUDE_DIR AND QT_QTNSPLUGIN_LIBRARY) ENDIF (QT_QTNSPLUGIN_INCLUDE_DIR AND QT_QTNSPLUGIN_LIBRARY)
IF (QT_QTOPENGL_INCLUDE_DIR AND QT_QTOPENGL_LIBRARY) IF (QT_QTOPENGL_INCLUDE_DIR AND QT_QTOPENGL_LIBRARY)
SET(QT_QTOPENGL_FOUND 1) SET(QT_QTOPENGL_FOUND 1)
IF (NOT QT_QTOPENGL_LIBRARY_DEBUG) IF (NOT QT_QTOPENGL_LIBRARY_DEBUG)
SET(QT_QTOPENGL_LIBRARY_DEBUG ${QT_QTOPENGL_LIBRARY}) SET(QT_QTOPENGL_LIBRARY_DEBUG ${QT_QTOPENGL_LIBRARY})
ENDIF (NOT QT_QTOPENGL_LIBRARY_DEBUG) ENDIF (NOT QT_QTOPENGL_LIBRARY_DEBUG)
ENDIF (QT_QTOPENGL_INCLUDE_DIR AND QT_QTOPENGL_LIBRARY) ENDIF (QT_QTOPENGL_INCLUDE_DIR AND QT_QTOPENGL_LIBRARY)
IF (QT_QTSQL_INCLUDE_DIR AND QT_QTSQL_LIBRARY) IF (QT_QTSQL_INCLUDE_DIR AND QT_QTSQL_LIBRARY)
SET(QT_QTSQL_FOUND 1) SET(QT_QTSQL_FOUND 1)
IF (NOT QT_QTSQL_LIBRARY_DEBUG) IF (NOT QT_QTSQL_LIBRARY_DEBUG)
SET(QT_QTSQL_LIBRARY_DEBUG ${QT_QTSQL_LIBRARY}) SET(QT_QTSQL_LIBRARY_DEBUG ${QT_QTSQL_LIBRARY})
ENDIF (NOT QT_QTSQL_LIBRARY_DEBUG) ENDIF (NOT QT_QTSQL_LIBRARY_DEBUG)
ENDIF (QT_QTSQL_INCLUDE_DIR AND QT_QTSQL_LIBRARY) ENDIF (QT_QTSQL_INCLUDE_DIR AND QT_QTSQL_LIBRARY)
IF (QT_QTXML_INCLUDE_DIR AND QT_QTXML_LIBRARY) IF (QT_QTXML_INCLUDE_DIR AND QT_QTXML_LIBRARY)
SET(QT_QTXML_FOUND 1) SET(QT_QTXML_FOUND 1)
IF (NOT QT_QTXML_LIBRARY_DEBUG) IF (NOT QT_QTXML_LIBRARY_DEBUG)
SET(QT_QTXML_LIBRARY_DEBUG ${QT_QTXML_LIBRARY}) SET(QT_QTXML_LIBRARY_DEBUG ${QT_QTXML_LIBRARY})
ENDIF (NOT QT_QTXML_LIBRARY_DEBUG) ENDIF (NOT QT_QTXML_LIBRARY_DEBUG)
ENDIF (QT_QTXML_INCLUDE_DIR AND QT_QTXML_LIBRARY) ENDIF (QT_QTXML_INCLUDE_DIR AND QT_QTXML_LIBRARY)
####################################### #######################################
# #
# Check the executables of Qt # Check the executables of Qt
# ( moc, uic, rcc ) # ( moc, uic, rcc )
# #
####################################### #######################################
IF (NOT QT_BINARY_DIR) IF (NOT QT_BINARY_DIR)
EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE} EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE}
ARGS "-query QT_INSTALL_BINS" ARGS "-query QT_INSTALL_BINS"
OUTPUT_VARIABLE qt_bins ) OUTPUT_VARIABLE qt_bins )
SET(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "") SET(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "")
ENDIF (NOT QT_BINARY_DIR) ENDIF (NOT QT_BINARY_DIR)
FIND_PROGRAM(QT_MOC_EXECUTABLE FIND_PROGRAM(QT_MOC_EXECUTABLE
NAMES moc NAMES moc
PATHS PATHS
${QT_BINARY_DIR} ${QT_BINARY_DIR}
@ -536,11 +543,11 @@ FIND_PROGRAM(QT_MOC_EXECUTABLE
/usr/bin/qt4 /usr/bin/qt4
) )
IF(QT_MOC_EXECUTABLE) IF(QT_MOC_EXECUTABLE)
SET ( QT_WRAP_CPP "YES") SET ( QT_WRAP_CPP "YES")
ENDIF(QT_MOC_EXECUTABLE) ENDIF(QT_MOC_EXECUTABLE)
FIND_PROGRAM(QT_UIC_EXECUTABLE FIND_PROGRAM(QT_UIC_EXECUTABLE
NAMES uic NAMES uic
PATHS PATHS
${QT_BINARY_DIR} ${QT_BINARY_DIR}
@ -554,11 +561,11 @@ FIND_PROGRAM(QT_UIC_EXECUTABLE
/usr/bin/qt4 /usr/bin/qt4
) )
IF(QT_UIC_EXECUTABLE) IF(QT_UIC_EXECUTABLE)
SET ( QT_WRAP_UI "YES") SET ( QT_WRAP_UI "YES")
ENDIF(QT_UIC_EXECUTABLE) ENDIF(QT_UIC_EXECUTABLE)
FIND_PROGRAM(QT_RCC_EXECUTABLE FIND_PROGRAM(QT_RCC_EXECUTABLE
NAMES rcc NAMES rcc
PATHS PATHS
${QT_BINARY_DIR} ${QT_BINARY_DIR}
@ -572,22 +579,22 @@ FIND_PROGRAM(QT_RCC_EXECUTABLE
/usr/bin/qt4 /usr/bin/qt4
) )
MARK_AS_ADVANCED( MARK_AS_ADVANCED(
QT_UIC_EXECUTABLE QT_UIC_EXECUTABLE
QT_MOC_EXECUTABLE QT_MOC_EXECUTABLE
QT_RCC_EXECUTABLE ) QT_RCC_EXECUTABLE )
###################################### ######################################
# #
# Macros for building Qt files # Macros for building Qt files
# #
###################################### ######################################
# QT4_WRAP_CPP(outfiles inputfile ... ) # QT4_WRAP_CPP(outfiles inputfile ... )
# TODO perhaps add support for -D, -U and other minor options # TODO perhaps add support for -D, -U and other minor options
MACRO(QT4_WRAP_CPP outfiles ) MACRO(QT4_WRAP_CPP outfiles )
# get include dirs # get include dirs
GET_DIRECTORY_PROPERTY(moc_includes_tmp INCLUDE_DIRECTORIES) GET_DIRECTORY_PROPERTY(moc_includes_tmp INCLUDE_DIRECTORIES)
@ -608,12 +615,12 @@ MACRO(QT4_WRAP_CPP outfiles )
SET(${outfiles} ${${outfiles}} ${outfile}) SET(${outfiles} ${${outfiles}} ${outfile})
ENDFOREACH(it) ENDFOREACH(it)
ENDMACRO(QT4_WRAP_CPP) ENDMACRO(QT4_WRAP_CPP)
# QT4_WRAP_UI(outfiles inputfile ... ) # QT4_WRAP_UI(outfiles inputfile ... )
MACRO(QT4_WRAP_UI outfiles ) MACRO(QT4_WRAP_UI outfiles )
FOREACH(it ${ARGN}) FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE) GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
@ -626,12 +633,12 @@ MACRO(QT4_WRAP_UI outfiles )
SET(${outfiles} ${${outfiles}} ${outfile}) SET(${outfiles} ${${outfiles}} ${outfile})
ENDFOREACH(it) ENDFOREACH(it)
ENDMACRO(QT4_WRAP_UI) ENDMACRO(QT4_WRAP_UI)
# QT4_ADD_RESOURCE(outfiles inputfile ... ) # QT4_ADD_RESOURCE(outfiles inputfile ... )
# TODO perhaps consider adding support for compression and root options to rcc # TODO perhaps consider adding support for compression and root options to rcc
MACRO(QT4_ADD_RESOURCES outfiles ) MACRO(QT4_ADD_RESOURCES outfiles )
FOREACH(it ${ARGN}) FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE) GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE)
@ -644,50 +651,52 @@ MACRO(QT4_ADD_RESOURCES outfiles )
SET(${outfiles} ${${outfiles}} ${outfile}) SET(${outfiles} ${${outfiles}} ${outfile})
ENDFOREACH(it) ENDFOREACH(it)
ENDMACRO(QT4_ADD_RESOURCES) ENDMACRO(QT4_ADD_RESOURCES)
###################################### ######################################
# #
# deside if Qt got found # deside if Qt got found
# #
###################################### ######################################
# if the includes,libraries,moc,uic and rcc are found then we have it # if the includes,libraries,moc,uic and rcc are found then we have it
IF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE) IF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
SET( QT4_FOUND "YES" ) SET( QT4_FOUND "YES" )
IF( NOT Qt_FIND_QUIETLY) IF( NOT Qt_FIND_QUIETLY)
MESSAGE(STATUS "Found Qt-Version ${QT_INST_MAJOR_VERSION}.${QT_INST_MINOR_VERSION}.${QT_INST_PATCH_VERSION}") MESSAGE(STATUS "Found Qt-Version ${QT_INST_MAJOR_VERSION}.${QT_INST_MINOR_VERSION}.${QT_INST_PATCH_VERSION}")
ENDIF( NOT Qt_FIND_QUIETLY) ENDIF( NOT Qt_FIND_QUIETLY)
ELSE( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE) ELSE( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
SET( QT4_FOUND "NO") SET( QT4_FOUND "NO")
IF( Qt_FIND_REQUIRED) IF( Qt_FIND_REQUIRED)
MESSAGE( SEND_ERROR "Qt libraries, includes, moc, uic or/and rcc NOT found!") MESSAGE( SEND_ERROR "Qt libraries, includes, moc, uic or/and rcc NOT found!")
ENDIF( Qt_FIND_REQUIRED) ENDIF( Qt_FIND_REQUIRED)
ENDIF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE) ENDIF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
SET(QT_FOUND ${QT4_FOUND}) SET(QT_FOUND ${QT4_FOUND})
####################################### #######################################
# #
# System dependent settings # System dependent settings
# #
####################################### #######################################
# for unix add X11 stuff # for unix add X11 stuff
IF(UNIX) IF(UNIX)
FIND_PACKAGE(X11) FIND_PACKAGE(X11)
ENDIF(UNIX) ENDIF(UNIX)
####################################### #######################################
# #
# compatibility settings # compatibility settings
# #
####################################### #######################################
# Backwards compatibility for CMake1.4 and 1.2 # Backwards compatibility for CMake1.4 and 1.2
SET (QT_MOC_EXE ${QT_MOC_EXECUTABLE} ) SET (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
SET (QT_UIC_EXE ${QT_UIC_EXECUTABLE} ) SET (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
SET( QT_QT_LIBRARY "")
SET( QT_QTMAIN_LIBRARY "")
SET( QT_QT_LIBRARY "")
SET( QT_QTMAIN_LIBRARY "")
ELSE(QT4_QMAKE_FOUND)
MESSAGE("QT_QMAKE_EXECUTABLE set to qmake version: ${QTVERSION} ${QT_QMAKE_EXECUTABLE}, please set to path to qmake from qt4.")
ENDIF(QT4_QMAKE_FOUND)