summaryrefslogtreecommitdiffstats
path: root/Modules/CheckIncludeFileCXX.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2002-12-13 19:58:55 (GMT)
committerBrad King <brad.king@kitware.com>2002-12-13 19:58:55 (GMT)
commit7e824e83a9c97234f23640188c590201eeffea5d (patch)
tree6ead7ffa2b19307549baa6d5156153dbcc5deeaf /Modules/CheckIncludeFileCXX.cmake
parent858c6c9a02bc2f0a8ab1a9a6f4ab7f3c353ef049 (diff)
downloadCMake-7e824e83a9c97234f23640188c590201eeffea5d.zip
CMake-7e824e83a9c97234f23640188c590201eeffea5d.tar.gz
CMake-7e824e83a9c97234f23640188c590201eeffea5d.tar.bz2
ENH: Don't repeat check even if answer was no.
Diffstat (limited to 'Modules/CheckIncludeFileCXX.cmake')
-rw-r--r--Modules/CheckIncludeFileCXX.cmake42
1 files changed, 22 insertions, 20 deletions
diff --git a/Modules/CheckIncludeFileCXX.cmake b/Modules/CheckIncludeFileCXX.cmake
index 265bbfc..5b2a77c 100644
--- a/Modules/CheckIncludeFileCXX.cmake
+++ b/Modules/CheckIncludeFileCXX.cmake
@@ -7,24 +7,26 @@
#
MACRO(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE)
- MESSAGE(STATUS "Checking for CXX include file ${INCLUDE}")
- SET(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
- CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
- ${PROJECT_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx IMMEDIATE)
- TRY_COMPILE(${VARIABLE}
- ${PROJECT_BINARY_DIR}
- ${PROJECT_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx
- CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CMAKE_ANSI_CXXFLAGS}
- OUTPUT_VARIABLE OUTPUT)
- IF(${VARIABLE})
- MESSAGE(STATUS "Checking for CXX include file ${INCLUDE} -- found")
- SET(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
- ELSE(${VARIABLE})
- MESSAGE(STATUS "Checking for CXX include file ${INCLUDE} -- not found")
- SET(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
- WRITE_FILE(${PROJECT_BINARY_DIR}/CMakeError.log
- "Determining if the include file ${INCLUDE} "
- "exists failed with the following output:\n"
- "${OUTPUT}\n" APPEND)
- ENDIF(${VARIABLE})
+ IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ MESSAGE(STATUS "Checking for CXX include file ${INCLUDE}")
+ SET(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
+ CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
+ ${PROJECT_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx IMMEDIATE)
+ TRY_COMPILE(${VARIABLE}
+ ${PROJECT_BINARY_DIR}
+ ${PROJECT_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CMAKE_ANSI_CXXFLAGS}
+ OUTPUT_VARIABLE OUTPUT)
+ IF(${VARIABLE})
+ MESSAGE(STATUS "Checking for CXX include file ${INCLUDE} -- found")
+ SET(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
+ ELSE(${VARIABLE})
+ MESSAGE(STATUS "Checking for CXX include file ${INCLUDE} -- not found")
+ SET(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
+ WRITE_FILE(${PROJECT_BINARY_DIR}/CMakeError.log
+ "Determining if the include file ${INCLUDE} "
+ "exists failed with the following output:\n"
+ "${OUTPUT}\n" APPEND)
+ ENDIF(${VARIABLE})
+ ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
ENDMACRO(CHECK_INCLUDE_FILE_CXX)