【发布时间】:2014-08-27 18:54:09
【问题描述】:
我将 CMake 用于一个中等规模的 Fortran 项目;有时我使用 gfortran 构建它,其他时候使用 ifort。当我想进行调试构建时,编译器标志是不同的;我想让 CMake 自动检查正在使用的编译器并相应地设置标志。
看起来this answer 展示了如何为不同的 C++ 编译器做同样的事情。 example 介绍了如何使用 Fortran 检查编译器,使用
if (Fortran_COMPILER_NAME MATCHES "gfortran.*")
但是,这无法调用条件,因为 CMake 已决定使用 f95。当然,f95 恰好是 gfortran 的别名,但 CMake 没有检测到。
这样做的正确方法是什么?
【问题讨论】: