CMakeBackwardCompatibilityCXX

此模块为 CXX 语言定义了几个向后兼容的缓存变量,以支持早期 C++(C++98 之前,ANSI C++)。

在 CMake 项目中加载此模块,使用

include(CMakeBackwardCompatibilityCXX)

此模块包含以下模块

此外,还可能定义以下缓存变量

CMAKE_ANSI_CXXFLAGS

一个以空格分隔的编译器选项字符串,用于在可用时启用 ANSI C++ 模式。

注意

此模块适用于 C++98 标准发布之前的 C++ 代码。自 C++98 标准起,这些问题已得到正式解决,因此此类检查已不再需要。

示例

包含此模块可提供向后兼容的缓存变量,这些变量可在 C++ 中使用。例如:

CMakeLists.txt
include(CMakeBackwardCompatibilityCXX)
file(
  CONFIGURE
  OUTPUT config.h
  CONTENT [[
    #cmakedefine CMAKE_NO_ANSI_FOR_SCOPE
    #cmakedefine CMAKE_NO_ANSI_STRING_STREAM
    #cmakedefine CMAKE_NO_ANSI_STREAM_HEADERS
    #cmakedefine CMAKE_NO_STD_NAMESPACE
  ]]
)