summaryrefslogtreecommitdiff
path: root/Tests/RunCMake/CPack/tests/PROJECT_META/VerifyResult.cmake
blob: 35a93d6a4dbe8f37a8226a8ae08c99e507cfb204 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function(checkPackageURL FILE TAG EXPECTED_URL)
  getPackageInfo("${FILE}" "_file_info")
  string(REPLACE "\n" ";" _file_info "${_file_info}")

  set(_seen_url FALSE)
  foreach(_line IN LISTS _file_info)
    if(_line MATCHES "${TAG}: (.*)")
      set(_seen_url TRUE)
      if(NOT CMAKE_MATCH_1 STREQUAL EXPECTED_URL)
        message(FATAL_ERROR "Unexpected `Homepage` URL: `${CMAKE_MATCH_1}` != `${EXPECTED_URL}`")
      endif()
      break()
    endif()
  endforeach()
  if(NOT _seen_url)
    message(FATAL_ERROR "The package `${FILE}` do not have URL as expected")
  endif()
endfunction()

if(GENERATOR_TYPE STREQUAL DEB)
  set(_tag " Homepage") # NOTE The leading space
elseif(GENERATOR_TYPE STREQUAL RPM)
  set(_tag "URL.*")
else()
  message(FATAL_ERROR "Unexpected CPack generator")
endif()

checkPackageURL("${FOUND_FILE_1}" "${_tag}" "https://meta.test.info")

# kate: indent-width 2;