[CMake] OSX Leopard- compiling for Tiger and later

Mike Jackson mike.jackson at imts.us
Wed Jul 2 17:41:44 EDT 2008


On Jul 2, 2008, at 5:29 PM, Sean McBride wrote:

> 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
>

So is this something we can just hack into the Darwin.cmake file for  
our own use? I already hacked it to default to dwarf debugging on  
10.4. The same could be done to at least allow us to take a default  
or change it to something else.


-- 
Mike Jackson   Senior Research Engineer
Innovative Management & Technology Services





More information about the CMake mailing list