Explorar o código

Optimize QT4_GENERATE_MOCS macro getting moc flags only when needed

See #449
Jean-Christophe Fillion-Robin %!s(int64=11) %!d(string=hai) anos
pai
achega
130deabb44
Modificáronse 1 ficheiros con 9 adicións e 2 borrados
  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()