Browse Source

Merge topic 'FPHSA-usable-outside-find_package' into release-3.19

14ecf9c2f6 FPHSA: ensure it can be used outside 'find_package'

Acked-by: Kitware Robot <[email protected]>
Merge-request: !5539
Marc Chevrier 5 years ago
parent
commit
72ede0218d
1 changed files with 7 additions and 2 deletions
  1. 7 2
      Modules/FindPackageHandleStandardArgs.cmake

+ 7 - 2
Modules/FindPackageHandleStandardArgs.cmake

@@ -275,8 +275,10 @@ function(FIND_PACKAGE_CHECK_VERSION version result)
     unset (${FPCV_RESULT_MESSAGE_VARIABLE} PARENT_SCOPE)
   endif()
 
-  if (CMAKE_FIND_PACKAGE_NAME)
-    set (package ${CMAKE_FIND_PACKAGE_NAME})
+  if (_CMAKE_FPHSA_PACKAGE_NAME)
+    set (package "${_CMAKE_FPHSA_PACKAGE_NAME}")
+  elseif (CMAKE_FIND_PACKAGE_NAME)
+    set (package "${CMAKE_FIND_PACKAGE_NAME}")
   else()
     message (FATAL_ERROR "find_package_check_version(): Cannot be used outside a 'Find Module'")
   endif()
@@ -436,6 +438,9 @@ function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
       "will be used.")
   endif()
 
+  # to propagate package name to FIND_PACKAGE_CHECK_VERSION
+  set(_CMAKE_FPHSA_PACKAGE_NAME "${_NAME}")
+
   # now that we collected all arguments, process them
 
   if("x${FPHSA_FAIL_MESSAGE}" STREQUAL "xDEFAULT_MSG")