我正在使用CMake构建一个中等规模的Fortran项目;有时我会用gfortran进行构建,有时则使用ifort。当我想要进行调试构建时,编译器标志不同;我希望CMake可以自动检查使用的编译器并相应地设置标志。
看起来这个答案展示了如何为不同的C++编译器执行相同的操作。有一个使用Fortran检查编译器的示例。
看起来这个答案展示了如何为不同的C++编译器执行相同的操作。有一个使用Fortran检查编译器的示例。
if (Fortran_COMPILER_NAME MATCHES "gfortran.*")
然而,这并未激活条件语句,因为CMake决定使用f95
。当然,f95
偶然是gfortran
的别名,但CMake没有检测到。
正确的做法是什么?