[CMake] OSX Leopard- compiling for Tiger and later

Sean McBride sean at rogue-research.com
Wed Jul 2 17:29:27 EDT 2008


On 7/2/08 2:00 PM, Eric Torstenson said:

>> what happens if you just set the CMAKE_OSX_SYSROOT variable to the  
>> 10.4u sdk? Is that enough?
>> 
>
>Thanks to Sean's previous post, I set the following variables:
>IF (APPLE) 
>	SET (CMAKE_OSX_ARCHITECTURES "i386")		#x86_64 ppc ppc64
>	SET (CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk")
>END (APPLE)
>
>This results in the right version of the compiler being called. I
>haven't finished compiling it, 
>due to other dependencies, so we will see if that works once I get those
>ironed out. 
>
>There was a reference to a deployment variable, which might be what the
>article from sean's 
>post was requesting. However, I'm not sure if I'll need that once I get
>all the way to linking or
>not.

The difference between the 'deployment target' and 'sdk' are widely
misunderstood.  Here's something from some post somewhere that I keep in
my notes file:

----
The SDK (SDKROOT) you choose specifies the *maximum* version of the OS
that you want to *use features from*.  There is another build setting,
the deployment target (MACOSX_DEPLOYMENT_TARGET) that specifies the
*minimum* version of the OS that you want to *run on*.

You don't need to use the 10.3.9 SDK to support 10.3.9, the SDK only
describes the highest version of Mac OS X you support. You determine the
lowest version of Mac OS X you support by setting the "Mac OS X
Deployment Target" in the target's build options.

Any function that is supported on your Deployment target or earlier are
hard linked (and your software won't load on earlier versions of the
OS). Any functions that were introduced after your deployment target are
weak linked. Any functions introduced after your SDK version are unavailable.
----

So it sounds to me like Eric should use the 10.5 SDK and set the
deployment target to 10.4.

-- 
____________________________________________________________
Sean McBride, B. Eng                 sean at rogue-research.com
Rogue Research                        www.rogue-research.com 
Mac Software Developer              Montréal, Québec, Canada




More information about the CMake mailing list