CMake和Visual Studio 9 2008:使用gfortran而不是ifort

时间:2015-07-29 12:44:05

标签: visual-studio-2008 cmake fortran mingw gfortran

我目前正在研究一些专为跨平台使用而设计的CMake构建脚本。然而,它们在窗户下并不完美。

隔离的测试用例如下所示:初始化fortran项目。 CMake总是试图使用' ifort'从Visual Studio作为编译器,但我甚至没有安装。相反,我想使用MingW的gfortran(在我的%PATH%变量中设置)。

凌乱(因为我尝试了很多东西:) CMakeLists.txt看起来像这样:

cmake_minimum_required( VERSION 2.8.12 )

message( "-- env(fc): $ENV{FC}")
message( "-- cmake generator fc: ${CMAKE_GENERATOR_FC}")

set(FC "gfortran" CACHE PATH "" FORCE)
set(CMAKE_GENERATOR_FC "gfortran" CACHE PATH "" FORCE)
set(CMAKE_Fortran_COMPILER_INIT "gfortran" CACHE PATH "" FORCE)
set(CMAKE_Fortran_COMPILER_LIST "gfortran" CACHE PATH "" FORCE)
set(ENV{FC} "gfortran" CACHE PATH "" FORCE)
set(CMAKE_Fortran_COMPILER "gfortran" CACHE STRING "" FORCE)
SET(CMAKE_Fortran_COMPILER_ENV_VAR "FC")

project( example Fortran )

# why does this always print ifort instead of gfortran?
message("-- fortran compiler ${CMAKE_Fortran_COMPILER} ")

include(CheckLanguage)
check_language(Fortran)
if(CMAKE_Fortran_COMPILER)
   enable_language(Fortran)
else()
   message(STATUS "No native Fortran support ")
endif()

所以对我来说,没有一个选项可以从ifort切换到gfortran。输出始终相同:

cmake -G "Visual Studio 9 2008" ..
-- env(fc):
-- cmake generator fc: gfortran
-- Check for working Fortran compiler using: Visual Studio 9 2008 -- broken
-> fails: "The Fortran compiler ifort is not able to compile a simple test program."

也许周围有人可以向我解释这个问题。 CMake文档无法帮助我,也无需谷歌搜索数小时。

如果您需要进一步的系统信息,请与我们联系。

提前致谢!

0 个答案:

没有答案