summaryrefslogtreecommitdiffstats
path: root/Modules/FindPerl.cmake
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2020-08-06 16:38:04 (GMT)
committerBen Boeckel <ben.boeckel@kitware.com>2020-08-07 13:41:38 (GMT)
commit98844ec9db5fe4dc4e236f3852d4f3e88a4a9e76 (patch)
tree0990a65c3e2e9b4cbc6370c285290b8b1a28ca35 /Modules/FindPerl.cmake
parentd421274e3e11a0e6480358faa8a8e5cf48d7b3c2 (diff)
downloadCMake-98844ec9db5fe4dc4e236f3852d4f3e88a4a9e76.zip
CMake-98844ec9db5fe4dc4e236f3852d4f3e88a4a9e76.tar.gz
CMake-98844ec9db5fe4dc4e236f3852d4f3e88a4a9e76.tar.bz2
FPHSA: detect inclusion between find modules
Various find modules include each other to delegate finding some subset or variant of the package. Ideally, these would use `find_dependency` or some other actual `find_package` mechanism, but that is a larger change. Instead, just detect inclusion and suppress FPHSA name mismatch warnings. Fixes: #21060
Diffstat (limited to 'Modules/FindPerl.cmake')
-rw-r--r--Modules/FindPerl.cmake7
1 files changed, 7 insertions, 0 deletions
diff --git a/Modules/FindPerl.cmake b/Modules/FindPerl.cmake
index fd120bf..c14e059 100644
--- a/Modules/FindPerl.cmake
+++ b/Modules/FindPerl.cmake
@@ -73,8 +73,15 @@ endif()
set(PERL ${PERL_EXECUTABLE})
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+if (CMAKE_FIND_PACKAGE_NAME STREQUAL "PerlLibs")
+ # FindPerlLibs include()'s this module. It's an old pattern, but rather than
+ # trying to suppress this from outside the module (which is then sensitive to
+ # the contents, detect the case in this module and suppress it explicitly.
+ set(FPHSA_NAME_MISMATCHED 1)
+endif ()
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Perl
REQUIRED_VARS PERL_EXECUTABLE
VERSION_VAR PERL_VERSION_STRING)
+unset(FPHSA_NAME_MISMATCHED)
mark_as_advanced(PERL_EXECUTABLE)