VerifyResult.cmake 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. function(checkPackageInfo_ TYPE FILE REGEX)
  2. getPackageInfo("${FILE}" "FILE_INFO_")
  3. if(NOT FILE_INFO_ MATCHES "${REGEX}")
  4. message(FATAL_ERROR "Unexpected ${TYPE} in '${FILE}'; file info: '${FILE_INFO_}'; does not match '${REGEX}'")
  5. endif()
  6. endfunction()
  7. if(GENERATOR_TYPE STREQUAL "DEB")
  8. set(name_ "Package")
  9. set(group_ "Section")
  10. elseif(GENERATOR_TYPE STREQUAL "RPM")
  11. set(name_ "Name")
  12. set(group_ "Group")
  13. endif()
  14. set(whitespaces_ "[\t\n\r ]*")
  15. # check package name
  16. checkPackageInfo_("name" "${FOUND_FILE_1}" ".*${name_}${whitespaces_}:${whitespaces_}per_component_fields-pkg_1")
  17. checkPackageInfo_("name" "${FOUND_FILE_2}" ".*${name_}${whitespaces_}:${whitespaces_}second")
  18. checkPackageInfo_("name" "${FOUND_FILE_3}" ".*${name_}${whitespaces_}:${whitespaces_}per_component_fields-pkg_3")
  19. # check package group
  20. checkPackageInfo_("group" "${FOUND_FILE_1}" ".*${group_}${whitespaces_}:${whitespaces_}default")
  21. checkPackageInfo_("group" "${FOUND_FILE_2}" ".*${group_}${whitespaces_}:${whitespaces_}second_group")
  22. checkPackageInfo_("group" "${FOUND_FILE_3}" ".*${group_}${whitespaces_}:${whitespaces_}default")
  23. # check package summaries (not available in DEB)
  24. if(GENERATOR_TYPE STREQUAL "RPM")
  25. checkPackageInfo_("summary" "${FOUND_FILE_1}" ".*Summary${whitespaces_}:${whitespaces_}Global summary")
  26. checkPackageInfo_("summary" "${FOUND_FILE_2}" ".*Summary${whitespaces_}:${whitespaces_}Summary for pkg_2")
  27. checkPackageInfo_("summary" "${FOUND_FILE_3}" ".*Summary${whitespaces_}:${whitespaces_}Global summary")
  28. endif()
  29. # check package description
  30. checkPackageInfo_("description" "${FOUND_FILE_1}" ".*Description${whitespaces_}:${whitespaces_}Description for pkg_1")
  31. checkPackageInfo_("description" "${FOUND_FILE_2}" ".*Description${whitespaces_}:${whitespaces_}Description for pkg_2")
  32. checkPackageInfo_("description" "${FOUND_FILE_3}" ".*Description${whitespaces_}:${whitespaces_}Description for pkg_3")