TestCXXAcceptsFlag

自 3.0 版本弃用: 此模块不应再使用。它已被 CheckCXXCompilerFlag 模块取代。自 CMake 3.19 起,CheckCompilerFlag 模块也可用于检查多种语言的标志。

此模块提供了一个宏,用于测试 C++ (CXX) 编译器是否支持特定标志。

check_cxx_accepts_flag

检查 CXX 编译器是否接受指定的标志

check_cxx_accepts_flag(<flags> <result-variable>)
<标志>

要测试的一个或多个编译器标志。对于多个标志,请以空格分隔字符串提供。

<结果变量>

存储结果的内部缓存变量的名称。如果编译器接受这些标志,则将其设置为布尔真,否则设置为假。

示例

检查 C++ 编译器是否支持特定标志

include(TestCXXAcceptsFlag)
check_cxx_accepts_flag("-fno-common -fstack-clash-protection" HAVE_FLAGS)

迁移到 CheckCompilerFlag 模块

include(CheckCompilerFlag)
check_compiler_flag(CXX "-fno-common;-fstack-clash-protection" HAVE_FLAGS)