3f852fbc8f
Sync patches with what has been committed upstream (kudos to Amit)
36 lines
1.4 KiB
Plaintext
36 lines
1.4 KiB
Plaintext
$OpenBSD: patch-Modules_FindPackageHandleStandardArgs_cmake,v 1.1 2012/12/05 11:32:04 dcoppa Exp $
|
|
|
|
FPHSA: don't succeed if only checking for XX_FOUND.
|
|
|
|
FPHSA(XX DEFAULT_MSG XX_FOUND) always succeeded due to the way how
|
|
the XX_FOUND variable was set.
|
|
It was preset to TRUE, and then reset to FALSE if something was
|
|
missing (which had the effect that XX_FOUND itself was already
|
|
preset when FPHSA checked whether XX_FOUND is set).
|
|
Now XX_FOUND is unset first, and only later on set to TRUE.
|
|
|
|
From upstream git commit 4809cadfe82316b648de50471169b4da9ef101e2
|
|
|
|
--- Modules/FindPackageHandleStandardArgs.cmake.orig Wed Dec 5 10:24:42 2012
|
|
+++ Modules/FindPackageHandleStandardArgs.cmake Wed Dec 5 10:29:50 2012
|
|
@@ -187,8 +187,8 @@ function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRS
|
|
# user knows better what went wrong (#6375)
|
|
set(MISSING_VARS "")
|
|
set(DETAILS "")
|
|
- set(${_NAME_UPPER}_FOUND TRUE)
|
|
# check if all passed variables are valid
|
|
+ unset(${_NAME_UPPER}_FOUND)
|
|
foreach(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
|
|
if(NOT ${_CURRENT_VAR})
|
|
set(${_NAME_UPPER}_FOUND FALSE)
|
|
@@ -197,6 +197,9 @@ function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRS
|
|
set(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]")
|
|
endif()
|
|
endforeach()
|
|
+ if(NOT "${${_NAME_UPPER}_FOUND}" STREQUAL "FALSE")
|
|
+ set(${_NAME_UPPER}_FOUND TRUE)
|
|
+ endif()
|
|
|
|
# component handling
|
|
unset(FOUND_COMPONENTS_MSG)
|