diff options
author | Alexander Neundorf <neundorf@kde.org> | 2006-03-27 19:58:17 +0000 |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2006-03-27 19:58:17 +0000 |
commit | 6d988ec089174f821a4cb97c93aed7b2cb0b5d02 (patch) | |
tree | c1f13706f59fbb5ced55b6c558957341581b77e9 | |
parent | c80ebd38d8cb1d02dbd5a94fcca60c8bffd51404 (diff) | |
download | extra-cmake-modules-6d988ec089174f821a4cb97c93aed7b2cb0b5d02.tar.gz extra-cmake-modules-6d988ec089174f821a4cb97c93aed7b2cb0b5d02.tar.bz2 |
-apply patch from Tanner Lovelace: only check for X11 if Q_WS_X11 is defined
Alex
svn path=/trunk/KDE/kdelibs/; revision=523302
-rw-r--r-- | modules/FindQt4.cmake | 42 |
1 files changed, 29 insertions, 13 deletions
diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake index 8f02f4e1..19a54072 100644 --- a/modules/FindQt4.cmake +++ b/modules/FindQt4.cmake @@ -210,13 +210,13 @@ IF (QT4_QMAKE_FOUND) OUTPUT_VARIABLE qt_headers ) SET(QT_HEADERS_DIR ${qt_headers} CACHE INTERNAL "") ENDIF(NOT QT_HEADERS_DIR) - + FIND_PATH(QT_QTCORE_INCLUDE_DIR QtGlobal "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/include/QtCore" ${QT_HEADERS_DIR}/QtCore ${QT_LIBRARY_DIR}/QtCore.framework/Headers $ENV{QTDIR}/include/QtCore - "$ENV{ProgramFiles}/qt/include/Qt" + "$ENV{ProgramFiles}/qt/include/Qt" ) # Set QT_INCLUDE_DIR by removine "/QtCore" in the string ${QT_QTCORE_INCLUDE_DIR} @@ -228,7 +228,7 @@ IF (QT4_QMAKE_FOUND) SET( QT_INCLUDE_DIR ${qt4_include_dir} CACHE PATH "") ENDIF (QT_USE_FRAMEWORKS) ENDIF( QT_QTCORE_INCLUDE_DIR AND NOT QT_INCLUDE_DIR) - + IF( NOT QT_INCLUDE_DIR) IF( NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED) MESSAGE( FATAL_ERROR "Could NOT find QtGlobal header") @@ -574,7 +574,7 @@ IF (QT4_QMAKE_FOUND) QT4_GET_MOC_INC_DIRS(moc_includes) GET_FILENAME_COMPONENT(infile ${infile} ABSOLUTE) - + ADD_CUSTOM_COMMAND(OUTPUT ${outfile} COMMAND ${QT_MOC_EXECUTABLE} ARGS ${moc_includes} -o ${outfile} ${infile} @@ -652,10 +652,10 @@ IF (QT4_QMAKE_FOUND) MACRO(QT4_AUTOMOC) QT4_GET_MOC_INC_DIRS(_moc_INCS) - + SET(_matching_FILES ) FOREACH (_current_FILE ${ARGN}) - + GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE) # if "SKIP_AUTOMOC" is set to true, we will not handle this file here. # here. this is required to make bouic work correctly: @@ -665,18 +665,18 @@ IF (QT4_QMAKE_FOUND) # exist at a later run. at that time we need to skip them, so that we don't add two # different rules for the same moc file GET_SOURCE_FILE_PROPERTY(_skip ${_abs_FILE} SKIP_AUTOMOC) - + IF (EXISTS ${_abs_FILE} AND NOT _skip) - + FILE(READ ${_abs_FILE} _contents) - + GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH) - + STRING(REGEX MATCHALL "#include +[^ ]+\\.moc[\">]" _match "${_contents}") IF(_match) FOREACH (_current_MOC_INC ${_match}) STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}") - + GET_filename_component(_basename ${_current_MOC} NAME_WE) # SET(_header ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h) SET(_header ${_abs_PATH}/${_basename}.h) @@ -686,7 +686,7 @@ IF (QT4_QMAKE_FOUND) ARGS ${_moc_INCS} ${_header} -o ${_moc} DEPENDS ${_header} ) - + _QT4_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc}) ENDFOREACH (_current_MOC_INC) ENDIF(_match) @@ -716,6 +716,19 @@ IF (QT4_QMAKE_FOUND) SET(QT_FOUND ${QT4_FOUND}) + INCLUDE(CheckSymbolExists) + # Save required includes variable + SET(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES}) + # Add QT_INCLUDE_DIR to CMAKE_REQUIRED_INCLUDES + SET(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${QT_INCLUDE_DIR}") + # Check for Window system symbols (note: only one should end up being set) + CHECK_SYMBOL_EXISTS(Q_WS_X11 "QtCore/qglobal.h" Q_WS_X11) + CHECK_SYMBOL_EXISTS(Q_WS_MAC "QtCore/qglobal.h" Q_WS_MAC) + CHECK_SYMBOL_EXISTS(Q_WS_WIN32 "QtCore/qglobal.h" Q_WS_WIN32) + CHECK_SYMBOL_EXISTS(Q_WS_WIN64 "QtCore/qglobal.h" Q_WS_WIN64) + # Restore CMAKE_REQUIRED_INCLUDES variable + SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE}) + ####################################### # # System dependent settings @@ -723,7 +736,10 @@ IF (QT4_QMAKE_FOUND) ####################################### # for unix add X11 stuff IF(UNIX) - FIND_PACKAGE(X11) + # on OS X X11 may not be required + IF (Q_WS_X11) + FIND_PACKAGE(X11) + ENDIF (Q_WS_X11) FIND_PACKAGE(Threads) SET(QT_QTCORE_LIBRARY ${QT_QTCORE_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) ENDIF(UNIX) |