[CMake] FIND_PROGRAM() behavior

Michael Wild themiwi at gmail.com
Sat Feb 7 09:06:23 EST 2009


Have you tried using the following?

find_program( PYTHON_EXECUTABLE python PATHS ENV PATH )

Works for me as advertised.


Michael

On 6. Feb, 2009, at 20:47, Bill Spotz wrote:

> No.  /sw/bin/python is a symlink to /sw/bin/python2.5, which is an  
> executable.  The /sw directory is where, on Darwin, the fink project  
> installs software (debian-style) by default.
>
> On Feb 6, 2009, at 12:54 PM, David Cole wrote:
>
>> Is /sw/bin/python a symlink to /usr/bin/python?
>>
>>
>> On Fri, Feb 6, 2009 at 12:39 PM, Bill Spotz <wfspotz at sandia.gov>  
>> wrote:
>> Hello,
>>
>> Because FIND_PACKAGE(PythonInterp) wasn't behaving exactly the way I
>> wanted it to, I was playing around with the following (at the very
>> beginning of my CMakeLists.txt file):
>>
>> FIND_PROGRAM(PYTHON_EXECUTABLE python)
>> MESSAGE("PYTHON_EXECUTABLE is " ${PYTHON_EXECUTABLE})
>> FIND_PROGRAM(SWIG_EXECUTABLE swig)
>> MESSAGE("SWIG_EXECUTABLE is " ${SWIG_EXECUTABLE})
>>
>> On my system, the following executables exist:
>>
>> /sw/bin/python
>> /usr/bin/python
>> /sw/bin/swig
>> /usr/bin/swig
>>
>> and /sw/bin comes first in my PATH environment variable.  I would
>> expect to get the same paths to both python and swig, but I don't.
>> Instead, I get the output
>>
>> PYTHON_EXECUTABLE is /usr/bin/python
>> SWIG_EXECUTABLE is /sw/bin/swig
>>
>> I make sure to delete my cache file before running cmake, so I don't
>> think it is a caching issue.  Why else might it behave like this?
>>
>> Thanks
>
>



More information about the CMake mailing list