CheckFortranSourceCompiles

版本 3.1 中新增。

一次性检查 Fortran 源代码是否可构建。

check_fortran_source_compiles
check_fortran_source_compiles(<code> <resultVar>
    [FAIL_REGEX <regex>...]
    [SRC_EXT <extension>]
)

一次性检查 <code> 中提供的源代码是否可构建。将结果存储在 <resultVar> 指定的内部缓存变量中,成功为布尔 true,失败为布尔 false

如果提供了 FAIL_REGEX,则通过检查编译器输出中的内容是否与指定的任何正则表达式相匹配来判断是否失败。

默认情况下,将设置测试源文件 .F 文件扩展名。 SRC_EXT 选项可用于用 .<extension> 改写它,.F90 是一个典型的选择。

另请参阅 check_source_compiles() 了解更通用的命令语法。

另请参阅 check_source_runs() 以运行已编译源。

内部使用 try_compile() 编译源代码。如果 CMAKE_TRY_COMPILE_TARGET_TYPE 设置为 EXECUTABLE(默认),源将作为可执行程序进行编译和链接。如果设置为 STATIC_LIBRARY,源将进行编译但不链接。在任何情况下,所有函数都必须按常规进行声明。

可在调用 check_fortran_source_compiles() 之前通过设置以下任何变量影响编译和链接命令

CMAKE_REQUIRED_FLAGS

传递给编译器的附加标志的字符串。字符串必须以空格分隔——;-list 将不起作用。 CMAKE_<LANG>_FLAGS 及其关联的特定于配置的变量的内容将在 CMAKE_REQUIRED_FLAGS 之前自动添加到编译器命令中。

CMAKE_REQUIRED_DEFINITIONS

一个表示编译器定义的 ;-list,形式为 -DFOO-DFOO=bar。由 <resultVar> 指定的名称的定义也将自动添加。

CMAKE_REQUIRED_INCLUDES

一个 ;-list,用于将头搜索路径传递给编译器。这将是唯一使用的头搜索路径—— INCLUDE_DIRECTORIES 目录属性的内容将被忽略。

CMAKE_REQUIRED_LINK_OPTIONS

在 3.14 版本中添加。

一个 ;-list,用于添加到链接命令(有关详细信息,请参阅 try_compile())。

CMAKE_REQUIRED_LIBRARIES

一个 ;-list,用于添加到链接命令。它们可以是系统库的名称,也可以是 导入的目标(有关详细信息,请参阅 try_compile())。

CMAKE_REQUIRED_LINK_DIRECTORIES

在 3.31 版本中添加。

一个 ;-list,用于将库搜索路径传递给链接器(有关详细信息,请参阅 try_compile())。

CMAKE_REQUIRED_QUIET

版本 3.1 中新增。

如果此变量被评估为布尔真值,所有与检查关联的状态消息将被隐藏。