2
# Check if the include file exists.
4
# CHECK_INCLUDE_FILE - macro which checks the include file exists.
5
# INCLUDE - name of include file
6
# VARIABLE - variable to return result
7
# OPTIONAL - a third argument can be extra flags which are passed to the compiler
10
MACRO(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE)
11
IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
12
MESSAGE(STATUS "Checking for CXX include file ${INCLUDE}")
13
SET(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
14
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
15
${CMAKE_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx IMMEDIATE)
17
SET(CMAKE_CXX_FLAGS_SAVE ${CMAKE_CXX_FLAGS})
18
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARGV2}")
19
ENDIF(${ARGC} EQUAL 3)
21
TRY_COMPILE(${VARIABLE}
23
${CMAKE_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx
24
OUTPUT_VARIABLE OUTPUT)
27
SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS_SAVE})
28
ENDIF(${ARGC} EQUAL 3)
31
MESSAGE(STATUS "Checking for CXX include file ${INCLUDE} -- found")
32
SET(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
33
FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeOutput.log
34
"Determining if the include file ${INCLUDE} "
35
"exists passed with the following output:\n"
38
MESSAGE(STATUS "Checking for CXX include file ${INCLUDE} -- not found")
39
SET(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
40
FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log
41
"Determining if the include file ${INCLUDE} "
42
"exists failed with the following output:\n"
45
ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
46
ENDMACRO(CHECK_INCLUDE_FILE_CXX)