diff options
author | Brad King <brad.king@kitware.com> | 2002-12-13 19:58:55 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2002-12-13 19:58:55 (GMT) |
commit | 7e824e83a9c97234f23640188c590201eeffea5d (patch) | |
tree | 6ead7ffa2b19307549baa6d5156153dbcc5deeaf /Modules/CheckVariableExists.cmake | |
parent | 858c6c9a02bc2f0a8ab1a9a6f4ab7f3c353ef049 (diff) | |
download | CMake-7e824e83a9c97234f23640188c590201eeffea5d.zip CMake-7e824e83a9c97234f23640188c590201eeffea5d.tar.gz CMake-7e824e83a9c97234f23640188c590201eeffea5d.tar.bz2 |
ENH: Don't repeat check even if answer was no.
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) |