aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2007-01-03 22:08:35 +0000
committerAlexander Neundorf <neundorf@kde.org>2007-01-03 22:08:35 +0000
commit253dfd50c9a69e6b506afc6dc08d184c5180adcc (patch)
treee6b8b203cfcb35f09067fa9c6272dcd01b3b1917
parente5081a72bfb452e7d4eff828296cf5fc2fcfc080 (diff)
downloadextra-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.cmake46
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