我试图将我们的项目从autotools移植到CMake,但遇到了fortran编译器设置的问题。该项目由C++、Fortran和Fortran90代码片段组成。在autoconf/automake项目中,我们简单地定义了FC和F77以及相应的标志,比如FCFLAGS和FFLAGS。但在CMake中,它的工作方式似乎有点不同。
到目前为止,我所做的:
project (blah-proj CXX Fortran)
... in ibm case ....
set (CMAKE_Fortran_FLAGS "-qfullpath -qinitauto -qnolm -qinit=f90ptr -qfree=f90 " )并在源目录CMakeLists.txt中
file (GLOB_RECURSE libblah_f_sources *.f90 *.f)
add_library (blah_f ${libblah_f_sources})
set_target_properties (blah_f PROPERTIES LINKER_LANGUAGE Fortran)在linux上使用gfortran可以很好地工作,因为它只有一个二进制文件,但是在AIX上有两个不同的编译器,分别称为xlf和xlf90。当然,它不起作用,因为CMake试图用相同的编译器编译*.f和*.f90文件。
https://stackoverflow.com/questions/44679904
复制相似问题