diff options
Diffstat (limited to 'Modules/CheckVariableExists.cmake')
-rw-r--r-- | Modules/CheckVariableExists.cmake | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/Modules/CheckVariableExists.cmake b/Modules/CheckVariableExists.cmake index daa87a0..9eaf73b 100644 --- a/Modules/CheckVariableExists.cmake +++ b/Modules/CheckVariableExists.cmake @@ -6,18 +6,20 @@ # MACRO(CHECK_VARIABLE_EXISTS VAR VARIABLE) - SET(MACRO_CHECK_VARIABLE_DEFINITIONS -DCHECK_VARIABLE_EXISTS=${VAR}) - TRY_COMPILE(${VARIABLE} - ${PROJECT_BINARY_DIR} - ${CMAKE_ROOT}/Modules/CheckVariableExists.c - CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_VARIABLE_DEFINITIONS} - OUTPUT_VARIABLE OUTPUT) - IF(${VARIABLE}) - SET(${VARIABLE} 1 CACHE INTERNAL "Have variable ${VAR}") - ELSE(${VARIABLE}) - SET(${VARIABLE} "" CACHE INTERNAL "Have variable ${VAR}") - WRITE_FILE(${PROJECT_BINARY_DIR}/CMakeError.log - "Determining if the variable ${VAR} exists failed with the following output:\n" - "${OUTPUT}\n" APPEND) - ENDIF(${VARIABLE}) + IF("${VARIABLE}" MATCHES "^${VARIABLE}$") + SET(MACRO_CHECK_VARIABLE_DEFINITIONS -DCHECK_VARIABLE_EXISTS=${VAR}) + TRY_COMPILE(${VARIABLE} + ${PROJECT_BINARY_DIR} + ${CMAKE_ROOT}/Modules/CheckVariableExists.c + CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_VARIABLE_DEFINITIONS} + OUTPUT_VARIABLE OUTPUT) + IF(${VARIABLE}) + SET(${VARIABLE} 1 CACHE INTERNAL "Have variable ${VAR}") + ELSE(${VARIABLE}) + SET(${VARIABLE} "" CACHE INTERNAL "Have variable ${VAR}") + WRITE_FILE(${PROJECT_BINARY_DIR}/CMakeError.log + "Determining if the variable ${VAR} exists failed with the following output:\n" + "${OUTPUT}\n" APPEND) + ENDIF(${VARIABLE}) + ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$") ENDMACRO(CHECK_VARIABLE_EXISTS) |