diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/FindQt4.cmake | 46 | 
1 files changed, 28 insertions, 18 deletions
diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake index 227dde3f..37a8314c 100644 --- a/modules/FindQt4.cmake +++ b/modules/FindQt4.cmake @@ -187,6 +187,23 @@ FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake4 qmake qmake-qt4 PATHS  SET(QT4_INSTALLED_VERSION_TOO_OLD FALSE) +#  macro for asking qmake to process pro files +MACRO(QT_QUERY_QMAKE outvar invar) +  FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake/tmp.pro +    "message(CMAKE_MESSAGE<$$${invar}>)") + +  EXECUTE_PROCESS(COMMAND ${QT_QMAKE_EXECUTABLE} +    WORKING_DIRECTORY   +    ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake +    OUTPUT_VARIABLE _qmake_query_output +    ERROR_VARIABLE _qmake_query_output ) + +  FILE(REMOVE_RECURSE  +    "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake") + +  STRING(REGEX REPLACE ".*CMAKE_MESSAGE<([^>]*).*" "\\1" ${outvar} "${_qmake_query_output}") +ENDMACRO(QT_QUERY_QMAKE) +  IF (QT_QMAKE_EXECUTABLE) @@ -688,26 +705,19 @@ IF (QT4_QMAKE_FOUND)    ####################################### -   # find moc and uic using qmake -   FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmpQmake/tmp.pro -    "message(MOC<$$QMAKE_MOC>) -      message(UIC<$$QMAKE_UIC>) -   ") - -   EXECUTE_PROCESS(COMMAND ${QT_QMAKE_EXECUTABLE} -      WORKING_DIRECTORY  ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmpQmake -      OUTPUT_VARIABLE _moc_OUTPUT -      ERROR_VARIABLE _moc_OUTPUT ) -   FILE(REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmpQmake") - -   STRING(REGEX REPLACE ".*MOC<([^>]+).*" "\\1" QT_MOC_EXECUTABLE_INTERNAL "${_moc_OUTPUT}" ) -   STRING(REGEX REPLACE ".*UIC<([^>]+).*" "\\1" QT_UIC_EXECUTABLE_INTERNAL "${_moc_OUTPUT}" ) +  # find moc and uic using qmake +  QT_QUERY_QMAKE(QT_MOC_EXECUTABLE_INTERNAL "QMAKE_MOC") +  QT_QUERY_QMAKE(QT_UIC_EXECUTABLE_INTERNAL "QMAKE_UIC") -   FILE(TO_CMAKE_PATH "${QT_MOC_EXECUTABLE_INTERNAL}" QT_MOC_EXECUTABLE_INTERNAL) -   FILE(TO_CMAKE_PATH "${QT_UIC_EXECUTABLE_INTERNAL}" QT_UIC_EXECUTABLE_INTERNAL) +  FILE(TO_CMAKE_PATH  +    "${QT_MOC_EXECUTABLE_INTERNAL}" QT_MOC_EXECUTABLE_INTERNAL) +  FILE(TO_CMAKE_PATH  +    "${QT_UIC_EXECUTABLE_INTERNAL}" QT_UIC_EXECUTABLE_INTERNAL) -   SET(QT_MOC_EXECUTABLE ${QT_MOC_EXECUTABLE_INTERNAL} CACHE FILEPATH "The moc executable") -   SET(QT_UIC_EXECUTABLE ${QT_UIC_EXECUTABLE_INTERNAL} CACHE FILEPATH "The uic executable") +  SET(QT_MOC_EXECUTABLE  +    ${QT_MOC_EXECUTABLE_INTERNAL} CACHE FILEPATH "The moc executable") +  SET(QT_UIC_EXECUTABLE  +    ${QT_UIC_EXECUTABLE_INTERNAL} CACHE FILEPATH "The uic executable")    FIND_PROGRAM(QT_UIC3_EXECUTABLE      NAMES uic3  | 
