Files
cmake/Tests/RunCMake/CPack/tests/PROJECT_META/VerifyResult.cmake
T
Alex Turbov 3476dbe6d7 CPack: CMAKE_PROJECT_HOMEPAGE_URL -> CPACK_PACKAGE_HOMEPAGE_URL
At CPack running time the `CMAKE_PROJECT_HOMEPAGE_URL` variable
is not set.

Internal CPack modules (e.g. CPackDEB, CPackRPM, CPackFreeBSD)
should use `CPACK_PACKAGE_HOMEPAGE_URL` instead, which is available
after inclusion of `CPack.cmake` into `CMakeLists.txt`.

Closes: #19607
2019-12-09 17:06:10 -05:00

31 lines
891 B
CMake

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 packge `${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;