summaryrefslogtreecommitdiffstats
path: root/Modules/CheckFunctionExists.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-08-18 14:49:30 (GMT)
committerBrad King <brad.king@kitware.com>2014-08-18 14:59:08 (GMT)
commit4ffec8f666b996aedd592e6d26286cef2cb38b50 (patch)
tree39cde7e337e9956991360785054bb78dfa1c64cb /Modules/CheckFunctionExists.cmake
parent4f2fcce4b9f897dfa98cb82f3876cd43ab80f69b (diff)
downloadCMake-4ffec8f666b996aedd592e6d26286cef2cb38b50.zip
CMake-4ffec8f666b996aedd592e6d26286cef2cb38b50.tar.gz
CMake-4ffec8f666b996aedd592e6d26286cef2cb38b50.tar.bz2
Check*: Add compatibility hack for old VXL code
The cleanup in commit 4f2fcce4 (Check*: Allow result variables to contain regex special characters, 2014-07-31) broke old VXL code that abuses the old "if(MATCHES)" implementation by using SET( ${VARIABLE} ${VARIABLE} ) to reset a check result variable. Add a compatibility hack to the CheckFunctionExists, CheckIncludeFileCXX, and CheckSymbolExists modules to re-run their checks when the result variable is set to its own name. Use STREQUAL instead of MATCHES so that special characters still work.
Diffstat (limited to 'Modules/CheckFunctionExists.cmake')
-rw-r--r--Modules/CheckFunctionExists.cmake2
1 files changed, 1 insertions, 1 deletions
diff --git a/Modules/CheckFunctionExists.cmake b/Modules/CheckFunctionExists.cmake
index 01a652b..4c4334f 100644
--- a/Modules/CheckFunctionExists.cmake
+++ b/Modules/CheckFunctionExists.cmake
@@ -38,7 +38,7 @@
macro(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE)
- if(NOT DEFINED "${VARIABLE}")
+ if(NOT DEFINED "${VARIABLE}" OR "x${${VARIABLE}}" STREQUAL "x${VARIABLE}")
set(MACRO_CHECK_FUNCTION_DEFINITIONS
"-DCHECK_FUNCTION_EXISTS=${FUNCTION} ${CMAKE_REQUIRED_FLAGS}")
if(NOT CMAKE_REQUIRED_QUIET)