[CMake] OS X Fortran flags

Bill Somerville bill at classdesign.com
Fri Oct 24 11:31:49 EDT 2014


Hi,

I am building some Fortran sources and on Mac I want to make the 
resulting executable portable back to 10.7.

So I have:

if (APPLE)
   set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
   set (CMAKE_OSX_DEPLOYMENT_TARGET 10.7) # Earliest version we can 
support with C++11 & libc++
   set (CMAKE_OSX_SYSROOT 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk)
endif (APPLE)

in my CMakeLists.txt.

I am building on a 10.8 system with the 10.9 SDK installed.

This all works as expected with the C and C++ sources in the project but 
the Fortran compiles are not being passed the relevant options:

-isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
-mmacosx_version_min=10.7

The Fortran compiler is the MacPorts gcc49 itself built from sources 
using the same options so that the distributable libraries reference the 
correct system library function versions.

So what am I missing? A brief scan of the CMake sources looks like it 
should be doing this right for GNU compilers as the compiler tests 
should check for those options being supported and supply them.

Do I have to add these options to the FFLAGS in my CMakeLists.txt?

Regards
Bill.


More information about the CMake mailing list