CheckIncludeFileCXX¶
This module provides a command to check a C++ header file.
Load this module in a CMake project with:
include(CheckIncludeFileCXX)
Commands¶
This module provides the following command:
- check_include_file_cxx¶
Checks once whether a header file can be included in C++ code:
check_include_file_cxx(<include> <variable> [<flags>])
This command checks once whether the given
<include>
header file exists and can be included in aCXX
source file. The result of the check is stored in an internal cache variable named<variable>
. The optional third argument may be used to add additional compilation flags to the check (or use theCMAKE_REQUIRED_FLAGS
variable below).Variables Affecting the Check
The following variables may be set before calling this command to modify the way the check is run:
CMAKE_REQUIRED_FLAGS
A space-separated string of additional flags to pass to the compiler. A semicolon-separated list will not work. The contents of
CMAKE_<LANG>_FLAGS
and its associated configuration-specificCMAKE_<LANG>_FLAGS_<CONFIG>
variables are automatically prepended to the compiler command before the contents of this variable.
CMAKE_REQUIRED_DEFINITIONS
A semicolon-separated list of compiler definitions, each of the form
-DFOO
or-DFOO=bar
. A definition for the name specified by the result variable argument of the check command is also added automatically.
CMAKE_REQUIRED_INCLUDES
A semicolon-separated list of header search paths to pass to the compiler. These will be the only header search paths used; the contents of the
INCLUDE_DIRECTORIES
directory property will be ignored.
CMAKE_REQUIRED_LINK_OPTIONS
在 3.14 版被加入.
A semicolon-separated list of options to add to the link command (see
try_compile()
for further details).
CMAKE_REQUIRED_LIBRARIES
A semicolon-separated list of libraries to add to the link command. These can be the names of system libraries, or they can be Imported Targets (see
try_compile()
for further details).
CMAKE_REQUIRED_LINK_DIRECTORIES
在 3.31 版被加入.
A semicolon-separated list of library search paths to pass to the linker (see
try_compile()
for further details).
CMAKE_REQUIRED_QUIET
在 3.1 版被加入.
If this variable evaluates to a boolean true value, all status messages associated with the check will be suppressed.
在 3.12 版被加入: The
CMAKE_REQUIRED_LIBRARIES
variable, if policyCMP0075
is set toNEW
.
範例¶
Checking whether the C++23
header <stdfloat>
exists and storing the
check result in the HAVE_STDFLOAT_HEADER
cache variable:
include(CheckIncludeFileCXX)
check_include_file_cxx(stdfloat HAVE_STDFLOAT_HEADER)
另請參見¶
The
CheckIncludeFile
module to check for single C header.The
CheckIncludeFiles
module to check for one or more C or C++ headers at once.