[cmake-developers] [PATCH] FindPythonLibs patches for version searching and frameworks

Clinton Stimpson clinton at elemtech.com
Thu Sep 17 11:08:12 EDT 2015


On Wednesday, September 16, 2015 11:04:23 PM David Gobbi wrote:
> On Wed, Sep 16, 2015 at 9:41 AM, Brad King <brad.king at kitware.com> wrote:
> > On 09/16/2015 11:39 AM, Brad King wrote:
> > > On 09/16/2015 10:00 AM, David Gobbi wrote:
> > >> this new patch only changes the search for the include dirs.
> > > 
> > > Thanks.  Rather than calling find_path twice, the first call could
> > > just use HINTS instead of PATHS.  HINTS are meant for this use case:
> > > searching paths detected from the system in some manner.  They are
> > > searched before the generic system and environment paths.  Does that
> > > work for your use case?
> > > 
> > > Also, why does the second call not use the same list of suffixes?
> > 
> > Meanwhile I split out the OS X framework path fix:
> >  FindPythonLibs: Fix OS X framework include directory search path
> >  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ea2db3bb
> > 
> > Please check that it looks correct on its own.
> 
> Thanks, looks fine.  I've modified my patch so that it only calls find_path
> once.
> It uses HINTS to search for the includes in the same prefix as where the
> library
> was found, which is probably the best place to start.  I've left the
> framework dirs
> in PATHS because we don't necessarily want them to have priority, we just
> want to have them in the search path.
> 
>  - David


Hi,

I did a quick test to see if my issue has been resolved.

I have a CMakeLists.txt file with just:
FIND_PACKAGE(PythonInterp REQUIRED)
FIND_PACKAGE(PythonLibs ${PYTHON_VERSION_STRING} REQUIRED)


And I get this error:
  Could NOT find PythonLibs: Found unsuitable version "2.7.2", but required
  is at least "2.7.5" (found /usr/lib/libpython2.7.dylib)


The problem I have is that I get a python executable and python library from a 
system location, and headers from the SDK, which aren't the exact same 
version.

//Path to a program.
PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python

//Path to a file.
PYTHON_INCLUDE_DIR:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Python.framework/Headers

//Path to a library.
PYTHON_LIBRARY:FILEPATH=/usr/lib/libpython2.7.dylib


Is that related to issues you are addressing here?

Thanks,
Clint



More information about the cmake-developers mailing list