On 25. Jun, 2010, at 16:32 , Mark Moll wrote:

> 
> On Jun 25, 2010, at 9:11 AM, Janosch Peters wrote:
> 
>> On 2010-06-25 15:45:37 +0200, Michael Hertling said:
>> 
>>> On 06/25/2010 03:17 PM, Janosch Peters wrote:
>>>> On 2010-06-21 07:01:36 +0200, Michael Hertling said:
>>>>> 8d87d12
>>>> What's that? Leet speak?
>>> No, these are the first seven and sufficiently unambiguous digits of
>>> the SHA-1 sum of the commit in CMake's Git repository that removes
>>> the framework related lines from FindPythonLibs.cmake
>> 
>> Ok. But the python dilemma still remains:
>> 
>> 1. FindPythonInterp and FindPythonLibs might still produce inconsistent 
>> results (e.g. libs and interpreter of different python versions)
>> 2. AFAIK you cannot specify a specific python version you which to 
>> include/link
>> 
>> I think someone on the list suggested to merge both modules into one, which 
>> would help making the results consistent. Is this (or any other solution) on 
>> your todo list?
> 
> 
> I suggested the merge, and proposed to add a function to check for the 
> existence of python modules:
> http://www.cmake.org/pipermail/cmake/2010-June/037468.html
> 
> On my OS X machine, the headers and libs for different python versions also 
> exist in the more common UNIX places (/usr/include/python2.x, 
> /usr/lib/libpython2.x.dylib, /usr/lib/python2.x/config/libpython2.x.a, and 
> corresponding MacPorts locations). I don’t know of any way you can specify a 
> specific version of a framework, so (at least for python) it seems easier to 
> drop framework support altogether and just use the UNIX paths.
> 
> -- 
> Mark

To chime in...

For one, the libraries in /usr/lib are symlinked to the framework:

$ readlink /usr/lib/libpython2.6.dylib
../../System/Library/Frameworks/Python.framework/Versions/2.6/Python


However, I think it's really difficult to guarantee consistency. If the code to 
be compiled contains stuff like the following

#ifdef __APPLE__
#include <Python/Python.h>
#else
#include <Python.h>
#endif

the compiler will compile against the latest framework installation it finds on 
the search path (probably /System/Library/Frameworks/Python.framework), but for 
linking whatever CMake (or the user by modifying the cache) chooses to pick 
will be used, be that the framework installation or some library-installation 
(Fink, MacPorts, /usr/lib, user-installed, ...).

Michael
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to