Browse Source

BUG: Fix 6726. Create correct moc rule for configured headers in binary dir.

Clinton Stimpson 17 years ago
parent
commit
fcd09ca90f
1 changed files with 7 additions and 1 deletions
  1. 7 1
      Modules/FindQt4.cmake

+ 7 - 1
Modules/FindQt4.cmake

@@ -992,7 +992,13 @@ IF (QT4_QMAKE_FOUND)
   
   # macro used to create the names of output files preserving relative dirs
   MACRO (QT4_MAKE_OUTPUT_FILE infile prefix ext outfile )
-    FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
+    STRING(LENGTH ${CMAKE_CURRENT_BINARY_DIR} _binlength)
+    STRING(SUBSTRING "${infile}" 0 ${_binlength} _checkinfile)
+    IF(CMAKE_CURRENT_BINARY_DIR MATCHES "${_checkinfile}")
+      FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_BINARY_DIR} ${infile})
+    ELSE(CMAKE_CURRENT_BINARY_DIR MATCHES "${_checkinfile}")
+      FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
+    ENDIF(CMAKE_CURRENT_BINARY_DIR MATCHES "${_checkinfile}")
     SET(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}")
     GET_FILENAME_COMPONENT(outpath ${_outfile} PATH)
     GET_FILENAME_COMPONENT(_outfile ${_outfile} NAME_WE)