ctkMacroGenerateMocs.cmake 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. if (CTK_QT_VERSION VERSION_GREATER "4")
  2. # QT5_GENERATE_MOCS(inputfile1 [inputfile2 ...])
  3. macro(QT5_GENERATE_MOCS)
  4. foreach(file ${ARGN})
  5. set(moc_file moc_${file})
  6. QT5_GENERATE_MOC(${file} ${moc_file})
  7. get_filename_component(source_name ${file} NAME_WE)
  8. get_filename_component(source_ext ${file} EXT)
  9. if(${source_ext} MATCHES "\\.[hH]")
  10. if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${source_name}.cpp)
  11. set(source_ext .cpp)
  12. elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${source_name}.cxx)
  13. set(source_ext .cxx)
  14. endif()
  15. endif()
  16. set_property(SOURCE ${source_name}${source_ext} APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${moc_file})
  17. endforeach()
  18. endmacro()
  19. else()
  20. # QT4_GENERATE_MOCS(inputfile1 [inputfile2 ...])
  21. macro(QT4_GENERATE_MOCS)
  22. foreach(file ${ARGN})
  23. set(moc_file moc_${file})
  24. QT4_GENERATE_MOC(${file} ${moc_file})
  25. get_filename_component(source_name ${file} NAME_WE)
  26. get_filename_component(source_ext ${file} EXT)
  27. if(${source_ext} MATCHES "\\.[hH]")
  28. if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${source_name}.cpp)
  29. set(source_ext .cpp)
  30. elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${source_name}.cxx)
  31. set(source_ext .cxx)
  32. endif()
  33. endif()
  34. set_property(SOURCE ${source_name}${source_ext} APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${moc_file})
  35. endforeach()
  36. endmacro()
  37. endif()