我使用CMake作爲中等規模的Fortran項目;有時候我會用gfortran來搭建它,其他時候用ifort來搭建它。當我想要進行調試構建時,編譯器標誌是不同的;我想讓CMake自動檢查正在使用哪個編譯器並相應地設置標誌。CMake Fortran編譯器依賴標誌
看起來像this answer顯示瞭如何爲不同的C++編譯器做同樣的事情。還有,如何檢查的編譯器與Fortran語言的example,使用
if (Fortran_COMPILER_NAME MATCHES "gfortran.*")
然而,這不能調用條件,因爲CMake的決定使用f95
。當然,f95
發生在別名gfortran
,但CMake沒有檢測到。
什麼是正確的方法來做到這一點?