ENH: Don't repeat check even if answer was no.

This commit is contained in:
Brad King 2002-12-13 14:58:55 -05:00
parent 858c6c9a02
commit 7e824e83a9
6 changed files with 46 additions and 42 deletions

View File

@ -7,7 +7,7 @@
# #
MACRO(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE) MACRO(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE)
IF(NOT ${VARIABLE}) IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
SET(MACRO_CHECK_FUNCTION_DEFINITIONS -DCHECK_FUNCTION_EXISTS=${FUNCTION}) SET(MACRO_CHECK_FUNCTION_DEFINITIONS -DCHECK_FUNCTION_EXISTS=${FUNCTION})
MESSAGE(STATUS "Looking for ${FUNCTION}") MESSAGE(STATUS "Looking for ${FUNCTION}")
TRY_COMPILE(${VARIABLE} TRY_COMPILE(${VARIABLE}
@ -25,5 +25,5 @@ MACRO(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE)
"Determining if the function ${FUNCTION} exists failed with the following output:\n" "Determining if the function ${FUNCTION} exists failed with the following output:\n"
"${OUTPUT}\n" APPEND) "${OUTPUT}\n" APPEND)
ENDIF(${VARIABLE}) ENDIF(${VARIABLE})
ENDIF(NOT ${VARIABLE}) ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
ENDMACRO(CHECK_FUNCTION_EXISTS) ENDMACRO(CHECK_FUNCTION_EXISTS)

View File

@ -7,7 +7,7 @@
# #
MACRO(CHECK_INCLUDE_FILE INCLUDE VARIABLE) MACRO(CHECK_INCLUDE_FILE INCLUDE VARIABLE)
IF(NOT ${VARIABLE}) IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
SET(CHECK_INCLUDE_FILE_VAR ${INCLUDE}) SET(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.c.in CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.c.in
${PROJECT_BINARY_DIR}/CMakeTmp/CheckIncludeFile.c IMMEDIATE) ${PROJECT_BINARY_DIR}/CMakeTmp/CheckIncludeFile.c IMMEDIATE)
@ -27,5 +27,5 @@ MACRO(CHECK_INCLUDE_FILE INCLUDE VARIABLE)
"exists failed with the following output:\n" "exists failed with the following output:\n"
"${OUTPUT}\n" APPEND) "${OUTPUT}\n" APPEND)
ENDIF(${VARIABLE}) ENDIF(${VARIABLE})
ENDIF(NOT ${VARIABLE}) ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
ENDMACRO(CHECK_INCLUDE_FILE) ENDMACRO(CHECK_INCLUDE_FILE)

View File

@ -7,24 +7,26 @@
# #
MACRO(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE) MACRO(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE)
MESSAGE(STATUS "Checking for CXX include file ${INCLUDE}") IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
SET(CHECK_INCLUDE_FILE_VAR ${INCLUDE}) MESSAGE(STATUS "Checking for CXX include file ${INCLUDE}")
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in SET(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
${PROJECT_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx IMMEDIATE) CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
TRY_COMPILE(${VARIABLE} ${PROJECT_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx IMMEDIATE)
${PROJECT_BINARY_DIR} TRY_COMPILE(${VARIABLE}
${PROJECT_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx ${PROJECT_BINARY_DIR}
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CMAKE_ANSI_CXXFLAGS} ${PROJECT_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx
OUTPUT_VARIABLE OUTPUT) CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CMAKE_ANSI_CXXFLAGS}
IF(${VARIABLE}) OUTPUT_VARIABLE OUTPUT)
MESSAGE(STATUS "Checking for CXX include file ${INCLUDE} -- found") IF(${VARIABLE})
SET(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}") MESSAGE(STATUS "Checking for CXX include file ${INCLUDE} -- found")
ELSE(${VARIABLE}) SET(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
MESSAGE(STATUS "Checking for CXX include file ${INCLUDE} -- not found") ELSE(${VARIABLE})
SET(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}") MESSAGE(STATUS "Checking for CXX include file ${INCLUDE} -- not found")
WRITE_FILE(${PROJECT_BINARY_DIR}/CMakeError.log SET(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
"Determining if the include file ${INCLUDE} " WRITE_FILE(${PROJECT_BINARY_DIR}/CMakeError.log
"exists failed with the following output:\n" "Determining if the include file ${INCLUDE} "
"${OUTPUT}\n" APPEND) "exists failed with the following output:\n"
ENDIF(${VARIABLE}) "${OUTPUT}\n" APPEND)
ENDIF(${VARIABLE})
ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
ENDMACRO(CHECK_INCLUDE_FILE_CXX) ENDMACRO(CHECK_INCLUDE_FILE_CXX)

View File

@ -7,7 +7,7 @@
# #
MACRO(CHECK_LIBRARY_EXISTS LIBRARY FUNCTION LOCATION VARIABLE) MACRO(CHECK_LIBRARY_EXISTS LIBRARY FUNCTION LOCATION VARIABLE)
IF(NOT ${VARIABLE}) IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
SET(MACRO_CHECK_LIBRARY_EXISTS_DEFINITION -DCHECK_FUNCTION_EXISTS=${FUNCTION}) SET(MACRO_CHECK_LIBRARY_EXISTS_DEFINITION -DCHECK_FUNCTION_EXISTS=${FUNCTION})
MESSAGE(STATUS "Looking for ${FUNCTION} in ${LIBRARY}") MESSAGE(STATUS "Looking for ${FUNCTION} in ${LIBRARY}")
TRY_COMPILE(${VARIABLE} TRY_COMPILE(${VARIABLE}
@ -30,5 +30,5 @@ MACRO(CHECK_LIBRARY_EXISTS LIBRARY FUNCTION LOCATION VARIABLE)
"failed with the following output:\n" "failed with the following output:\n"
"${OUTPUT}\n" APPEND) "${OUTPUT}\n" APPEND)
ENDIF(${VARIABLE}) ENDIF(${VARIABLE})
ENDIF(NOT ${VARIABLE}) ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
ENDMACRO(CHECK_LIBRARY_EXISTS) ENDMACRO(CHECK_LIBRARY_EXISTS)

View File

@ -7,7 +7,7 @@
# #
MACRO(CHECK_TYPE_SIZE TYPE VARIABLE) MACRO(CHECK_TYPE_SIZE TYPE VARIABLE)
IF(NOT ${VARIABLE}) IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
SET(MACRO_CHECK_TYPE_SIZE_FLAGS -DCHECK_SIZE_OF="${TYPE}") SET(MACRO_CHECK_TYPE_SIZE_FLAGS -DCHECK_SIZE_OF="${TYPE}")
IF(HAVE_SYS_TYPES_H) IF(HAVE_SYS_TYPES_H)
SET(MACRO_CHECK_TYPE_SIZE_FLAGS SET(MACRO_CHECK_TYPE_SIZE_FLAGS
@ -30,5 +30,5 @@ MACRO(CHECK_TYPE_SIZE TYPE VARIABLE)
"Determining size of ${TYPE} failed with the following output:\n${OUTPUT}\n" "Determining size of ${TYPE} failed with the following output:\n${OUTPUT}\n"
APPEND) APPEND)
ENDIF(HAVE_${VARIABLE}) ENDIF(HAVE_${VARIABLE})
ENDIF(NOT ${VARIABLE}) ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
ENDMACRO(CHECK_TYPE_SIZE) ENDMACRO(CHECK_TYPE_SIZE)

View File

@ -6,18 +6,20 @@
# #
MACRO(CHECK_VARIABLE_EXISTS VAR VARIABLE) MACRO(CHECK_VARIABLE_EXISTS VAR VARIABLE)
SET(MACRO_CHECK_VARIABLE_DEFINITIONS -DCHECK_VARIABLE_EXISTS=${VAR}) IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
TRY_COMPILE(${VARIABLE} SET(MACRO_CHECK_VARIABLE_DEFINITIONS -DCHECK_VARIABLE_EXISTS=${VAR})
${PROJECT_BINARY_DIR} TRY_COMPILE(${VARIABLE}
${CMAKE_ROOT}/Modules/CheckVariableExists.c ${PROJECT_BINARY_DIR}
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_VARIABLE_DEFINITIONS} ${CMAKE_ROOT}/Modules/CheckVariableExists.c
OUTPUT_VARIABLE OUTPUT) CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_VARIABLE_DEFINITIONS}
IF(${VARIABLE}) OUTPUT_VARIABLE OUTPUT)
SET(${VARIABLE} 1 CACHE INTERNAL "Have variable ${VAR}") IF(${VARIABLE})
ELSE(${VARIABLE}) SET(${VARIABLE} 1 CACHE INTERNAL "Have variable ${VAR}")
SET(${VARIABLE} "" CACHE INTERNAL "Have variable ${VAR}") ELSE(${VARIABLE})
WRITE_FILE(${PROJECT_BINARY_DIR}/CMakeError.log SET(${VARIABLE} "" CACHE INTERNAL "Have variable ${VAR}")
"Determining if the variable ${VAR} exists failed with the following output:\n" WRITE_FILE(${PROJECT_BINARY_DIR}/CMakeError.log
"${OUTPUT}\n" APPEND) "Determining if the variable ${VAR} exists failed with the following output:\n"
ENDIF(${VARIABLE}) "${OUTPUT}\n" APPEND)
ENDIF(${VARIABLE})
ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
ENDMACRO(CHECK_VARIABLE_EXISTS) ENDMACRO(CHECK_VARIABLE_EXISTS)