Ver código fonte

Optimize QT4_GENERATE_MOCS macro getting moc flags only when needed

See #449
Jean-Christophe Fillion-Robin 11 anos atrás
pai
commit
130deabb44
1 arquivos alterados com 9 adições e 2 exclusões
  1. 9 2
      CMake/ctkMacroGenerateMocs.cmake

+ 9 - 2
CMake/ctkMacroGenerateMocs.cmake

@@ -2,9 +2,10 @@
 # QT4_GENERATE_MOCS(inputfile1 [inputfile2 ...])
 
 macro(QT4_GENERATE_MOCS)
+  QT4_GET_MOC_FLAGS(_moc_flags)
+
   foreach(file ${ARGN})
     set(moc_file moc_${file})
-    QT4_GENERATE_MOC(${file} ${moc_file})
 
     get_filename_component(source_name ${file} NAME_WE)
     get_filename_component(source_ext ${file} EXT)
@@ -15,7 +16,13 @@ macro(QT4_GENERATE_MOCS)
         set(source_ext .cxx)
       endif()
     endif()
-    set_property(SOURCE ${source_name}${source_ext} APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${moc_file})
+
+    set(_cpp ${source_name}${source_ext})
+    set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${moc_file})
+
+    QT4_CREATE_MOC_COMMAND(${_cpp} ${_moc} "${_moc_flags}" "")
+    MACRO_ADD_FILE_DEPENDENCIES(${_cpp} ${_moc})
+
   endforeach()
 endmacro()