aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Kümmel <syntheticpp@gmx.net>2007-07-21 21:05:38 +0000
committerPeter Kümmel <syntheticpp@gmx.net>2007-07-21 21:05:38 +0000
commitd6b28c54b7465f79d026a867c1204f67de46823b (patch)
treeb12c84edc7c8843558e1096f43a5504530864a57
parent7f040e43ab1778150bac0c305104ff6a5ad86676 (diff)
downloadextra-cmake-modules-d6b28c54b7465f79d026a867c1204f67de46823b.tar.gz
extra-cmake-modules-d6b28c54b7465f79d026a867c1204f67de46823b.tar.bz2
too much parameters for the msvc IDE, put them into a file and use the moc option '@'
svn path=/trunk/KDE/kdelibs/; revision=690693
-rw-r--r--modules/FindQt4.cmake19
1 files changed, 15 insertions, 4 deletions
diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake
index 8ba01cbb..6e6e6915 100644
--- a/modules/FindQt4.cmake
+++ b/modules/FindQt4.cmake
@@ -902,10 +902,21 @@ IF (QT4_QMAKE_FOUND)
GET_FILENAME_COMPONENT(abs_infile ${infile} ABSOLUTE)
- ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
- COMMAND ${QT_MOC_EXECUTABLE}
- ARGS ${moc_includes} -o ${outfile} ${abs_infile}
- DEPENDS ${abs_infile})
+ IF (MSVC_IDE)
+ SET (_moc_parameter_file ${outfile}_parameters)
+ SET (_moc_param "${moc_includes} \n-o${outfile} \n${abs_infile}")
+ STRING(REGEX REPLACE ";-I;" "\\n-I" _moc_param "${_moc_param}")
+ FILE (WRITE ${_moc_parameter_file} "${_moc_param}")
+ ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+ COMMAND ${QT_MOC_EXECUTABLE}
+ ARGS @"${_moc_parameter_file}"
+ DEPENDS ${abs_infile})
+ ELSE (MSVC_IDE)
+ ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+ COMMAND ${QT_MOC_EXECUTABLE}
+ ARGS ${moc_includes} -o ${outfile} ${abs_infile}
+ DEPENDS ${abs_infile})
+ ENDIF (MSVC_IDE)
SET_SOURCE_FILES_PROPERTIES(${outfile} PROPERTIES SKIP_AUTOMOC TRUE) # dont run automoc on this file