Browse Source

ENH: better way to find uic and moc.

Clinton Stimpson 17 years ago
parent
commit
b82eb2b9b3
1 changed files with 14 additions and 23 deletions
  1. 14 23
      Modules/FindQt4.cmake

+ 14 - 23
Modules/FindQt4.cmake

@@ -738,30 +738,9 @@ IF (QT4_QMAKE_FOUND)
   #######################################
 
 
-  # find moc and uic using qmake
-  QT_QUERY_QMAKE(QT_MOC_EXECUTABLE_INTERNAL "QMAKE_MOC")
-  QT_QUERY_QMAKE(QT_UIC_EXECUTABLE_INTERNAL "QMAKE_UIC")
-
-  # make sure we have / and not \ as qmake gives on windows
-  FILE(TO_CMAKE_PATH 
-    "${QT_MOC_EXECUTABLE_INTERNAL}" QT_MOC_EXECUTABLE_INTERNAL)
-  # make sure we have / and not \ as qmake gives on windows
-  FILE(TO_CMAKE_PATH 
-    "${QT_UIC_EXECUTABLE_INTERNAL}" QT_UIC_EXECUTABLE_INTERNAL)
-
-  IF(QT_QMAKE_CHANGED)
-    SET(QT_MOC_EXECUTABLE 
-      ${QT_MOC_EXECUTABLE_INTERNAL} CACHE FILEPATH "The moc executable" FORCE)
-    SET(QT_UIC_EXECUTABLE 
-      ${QT_UIC_EXECUTABLE_INTERNAL} CACHE FILEPATH "The uic executable" FORCE)
-  ELSE(QT_QMAKE_CHANGED)
-    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")
-  ENDIF(QT_QMAKE_CHANGED)
-
   IF(QT_QMAKE_CHANGED)
+    SET(QT_MOC_EXECUTABLE NOTFOUND)
+    SET(QT_UIC_EXECUTABLE NOTFOUND)
     SET(QT_UIC3_EXECUTABLE NOTFOUND)
     SET(QT_RCC_EXECUTABLE NOTFOUND)
     SET(QT_DBUSCPP2XML_EXECUTABLE NOTFOUND)
@@ -769,6 +748,18 @@ IF (QT4_QMAKE_FOUND)
     SET(QT_LUPDATE_EXECUTABLE NOTFOUND)
     SET(QT_LRELEASE_EXECUTABLE NOTFOUND)
   ENDIF(QT_QMAKE_CHANGED)
+  
+  FIND_PROGRAM(QT_MOC_EXECUTABLE
+    NAMES moc
+    PATHS ${QT_BINARY_DIR}
+    NO_DEFAULT_PATH
+    )
+  
+  FIND_PROGRAM(QT_UIC_EXECUTABLE
+    NAMES uic
+    PATHS ${QT_BINARY_DIR}
+    NO_DEFAULT_PATH
+    )
 
   FIND_PROGRAM(QT_UIC3_EXECUTABLE
     NAMES uic3