| #.rst: | 
 | # CheckIncludeFiles | 
 | # ----------------- | 
 | # | 
 | # Check if the files can be included | 
 | # | 
 | # | 
 | # | 
 | # CHECK_INCLUDE_FILES(INCLUDE VARIABLE) | 
 | # | 
 | # :: | 
 | # | 
 | #   INCLUDE  - list of files to include | 
 | #   VARIABLE - variable to return result | 
 | #              Will be created as an internal cache variable. | 
 | # | 
 | # | 
 | # | 
 | # The following variables may be set before calling this macro to modify | 
 | # the way the check is run: | 
 | # | 
 | # :: | 
 | # | 
 | #   CMAKE_REQUIRED_FLAGS = string of compile command line flags | 
 | #   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar) | 
 | #   CMAKE_REQUIRED_INCLUDES = list of include directories | 
 | #   CMAKE_REQUIRED_QUIET = execute quietly without messages | 
 |  | 
 | #============================================================================= | 
 | # Copyright 2003-2012 Kitware, Inc. | 
 | # | 
 | # Distributed under the OSI-approved BSD License (the "License"); | 
 | # see accompanying file Copyright.txt for details. | 
 | # | 
 | # This software is distributed WITHOUT ANY WARRANTY; without even the | 
 | # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
 | # See the License for more information. | 
 | #============================================================================= | 
 | # (To distribute this file outside of CMake, substitute the full | 
 | #  License text for the above reference.) | 
 |  | 
 | macro(CHECK_INCLUDE_FILES INCLUDE VARIABLE) | 
 |   if(NOT DEFINED "${VARIABLE}") | 
 |     set(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n") | 
 |     if(CMAKE_REQUIRED_INCLUDES) | 
 |       set(CHECK_INCLUDE_FILES_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}") | 
 |     else() | 
 |       set(CHECK_INCLUDE_FILES_INCLUDE_DIRS) | 
 |     endif() | 
 |     set(CHECK_INCLUDE_FILES_CONTENT "/* */\n") | 
 |     set(MACRO_CHECK_INCLUDE_FILES_FLAGS ${CMAKE_REQUIRED_FLAGS}) | 
 |     foreach(FILE ${INCLUDE}) | 
 |       set(CMAKE_CONFIGURABLE_FILE_CONTENT | 
 |         "${CMAKE_CONFIGURABLE_FILE_CONTENT}#include <${FILE}>\n") | 
 |     endforeach() | 
 |     set(CMAKE_CONFIGURABLE_FILE_CONTENT | 
 |       "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n\nint main(void){return 0;}\n") | 
 |     configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in" | 
 |       "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFiles.c" @ONLY) | 
 |  | 
 |     set(_INCLUDE ${INCLUDE}) # remove empty elements | 
 |     if("${_INCLUDE}" MATCHES "^([^;]+);.+;([^;]+)$") | 
 |       list(LENGTH _INCLUDE _INCLUDE_LEN) | 
 |       set(_description "${_INCLUDE_LEN} include files ${CMAKE_MATCH_1}, ..., ${CMAKE_MATCH_2}") | 
 |     elseif("${_INCLUDE}" MATCHES "^([^;]+);([^;]+)$") | 
 |       set(_description "include files ${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}") | 
 |     else() | 
 |       set(_description "include file ${_INCLUDE}") | 
 |     endif() | 
 |  | 
 |     if(NOT CMAKE_REQUIRED_QUIET) | 
 |       message(STATUS "Looking for ${_description}") | 
 |     endif() | 
 |     try_compile(${VARIABLE} | 
 |       ${CMAKE_BINARY_DIR} | 
 |       ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFiles.c | 
 |       COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} | 
 |       CMAKE_FLAGS | 
 |       -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILES_FLAGS} | 
 |       "${CHECK_INCLUDE_FILES_INCLUDE_DIRS}" | 
 |       OUTPUT_VARIABLE OUTPUT) | 
 |     if(${VARIABLE}) | 
 |       if(NOT CMAKE_REQUIRED_QUIET) | 
 |         message(STATUS "Looking for ${_description} - found") | 
 |       endif() | 
 |       set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}") | 
 |       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log | 
 |         "Determining if files ${INCLUDE} " | 
 |         "exist passed with the following output:\n" | 
 |         "${OUTPUT}\n\n") | 
 |     else() | 
 |       if(NOT CMAKE_REQUIRED_QUIET) | 
 |         message(STATUS "Looking for ${_description} - not found") | 
 |       endif() | 
 |       set(${VARIABLE} "" CACHE INTERNAL "Have includes ${INCLUDE}") | 
 |       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log | 
 |         "Determining if files ${INCLUDE} " | 
 |         "exist failed with the following output:\n" | 
 |         "${OUTPUT}\nSource:\n${CMAKE_CONFIGURABLE_FILE_CONTENT}\n") | 
 |     endif() | 
 |   endif() | 
 | endmacro() |