ctkMacroGenerateMocs.cmake 862 B

123456789101112131415161718192021222324252627282930
  1. # QT4_GENERATE_MOCS(inputfile1 [inputfile2 ...])
  2. macro(QT4_GENERATE_MOCS)
  3. foreach(file ${ARGN})
  4. set(moc_file moc_${file})
  5. if(CTK_USE_QT5)
  6. qt5_generate_moc(${file} ${moc_file})
  7. else()
  8. QT4_GENERATE_MOC(${file} ${moc_file})
  9. endif()
  10. get_filename_component(source_name ${file} NAME_WE)
  11. get_filename_component(source_ext ${file} EXT)
  12. if(${source_ext} MATCHES "\\.[hH]")
  13. if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${source_name}.cpp)
  14. set(source_ext .cpp)
  15. elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${source_name}.cxx)
  16. set(source_ext .cxx)
  17. endif()
  18. endif()
  19. set_property(SOURCE ${source_name}${source_ext} APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${moc_file})
  20. endforeach()
  21. endmacro()
  22. # create a Qt5 alias
  23. macro(QT5_GENERATE_MOCS)
  24. QT4_GENERATE_MOCS(${ARGN})
  25. endmacro()