ctkMacroGeneratePluginResourceFile.cmake 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #
  2. # Depends on:
  3. # CTK/CMake/ctkMacroParseArguments.cmake
  4. #
  5. #! \ingroup CMakeUtilities
  6. macro(ctkMacroGeneratePluginResourceFile QRC_SRCS)
  7. CtkMacroParseArguments(MY
  8. "NAME;PREFIX;RESOURCES;BINARY_RESOURCES"
  9. ""
  10. ${ARGN}
  11. )
  12. set(_qrc_filepath "${CMAKE_CURRENT_BINARY_DIR}/${MY_NAME}")
  13. set(_qrc_content
  14. "<!DOCTYPE RCC><RCC version=\"1.0\">
  15. <qresource prefix=\"/${MY_PREFIX}\">
  16. ")
  17. if(MY_RESOURCES)
  18. foreach(_resource_file ${MY_RESOURCES})
  19. configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${_resource_file}" "${CMAKE_CURRENT_BINARY_DIR}/${_resource_file}" COPYONLY)
  20. set(_qrc_content "${_qrc_content}<file>${_resource_file}</file>
  21. ")
  22. endforeach()
  23. endif()
  24. if(MY_BINARY_RESOURCES)
  25. foreach(_resource_file ${MY_BINARY_RESOURCES})
  26. set(_qrc_content "${_qrc_content}<file>${_resource_file}</file>
  27. ")
  28. endforeach()
  29. endif()
  30. set(_qrc_content "${_qrc_content}</qresource>
  31. </RCC>
  32. ")
  33. configure_file("${CTK_CMAKE_DIR}/plugin_resources_cached.qrc.in" "${_qrc_filepath}" @ONLY)
  34. if (CTK_QT_VERSION VERSION_GREATER "4")
  35. QT5_ADD_RESOURCES(${QRC_SRCS} ${_qrc_filepath})
  36. else()
  37. QT4_ADD_RESOURCES(${QRC_SRCS} ${_qrc_filepath})
  38. endif()
  39. endmacro()