diff options
author | Alexander Neundorf <neundorf@kde.org> | 2007-01-03 22:08:35 +0000 |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2007-01-03 22:08:35 +0000 |
commit | 253dfd50c9a69e6b506afc6dc08d184c5180adcc (patch) | |
tree | e6b8b203cfcb35f09067fa9c6272dcd01b3b1917 | |
parent | e5081a72bfb452e7d4eff828296cf5fc2fcfc080 (diff) | |
download | extra-cmake-modules-253dfd50c9a69e6b506afc6dc08d184c5180adcc.tar.gz extra-cmake-modules-253dfd50c9a69e6b506afc6dc08d184c5180adcc.tar.bz2 |
partly sync with cmake cvs: use the QT_QUERY_QMAKE macro
Alex
svn path=/trunk/KDE/kdelibs/; revision=619637
-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 |