CMake: Warn when using unsuitable CMake due to issue finding host perl

CMake's Modules/Platform/Android-Initialize.cmake was setting
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH to OFF and host perl was not
picked up in PATH on Windows when building for Android.

Pick-to: 6.2
Change-Id: Ic98d8b38425231ef6aaf173fdfe958b573cc0c40
Reviewed-by: Craig Scott <craig.scott@qt.io>
This commit is contained in:
Alexandru Croitor 2021-10-27 14:36:02 +02:00
parent b04a0f0c04
commit c78a652bd2

View File

@ -189,6 +189,19 @@ function(qt_internal_warn_about_buggy_cmake_versions)
# https://gitlab.kitware.com/cmake/cmake/-/issues/16776
list(APPEND unsuitable_versions "3.21.0")
# qt_ensure_perl fails to find perl in host PATH via find_program
# due to Android Platform module setting CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH to OFF
# Fixed in 3.20.6, 3.21.3. not a problem in CMake versions earlier than 3.20.0
# https://gitlab.kitware.com/cmake/cmake/-/issues/22634
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5357
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/6528
if(ANDROID AND CMAKE_HOST_WIN32)
list(APPEND unsuitable_versions
"3.20.0" "3.20.1" "3.20.2" "3.20.3" "3.20.4" "3.20.5"
"3.21.0" "3.21.1" "3.21.2"
)
endif()
foreach(unsuitable_version ${unsuitable_versions})
if(CMAKE_VERSION VERSION_EQUAL unsuitable_version)
message(WARNING