2010/7/18 Alan W. Irwin <ir...@beluga.phys.uvic.ca>: [...] > # Get the Python version. > execute_process( > COMMAND > ${PYTHON_EXECUTABLE} -c "import sys; print sys.version.split()[0]" > OUTPUT_VARIABLE PYTHON_version_output > OUTPUT_STRIP_TRAILING_WHITESPACE > ) > SET(PYTHON_VERSION ${PYTHON_version_output} CACHE STRING "Python version") > > (We use this approach currently in PLplot.) One caveat is the result of > the above sometimes has trailing information that needs to be trimmed > off. For example, on my current system the result is "2.6.5+".
"import sys; print sys.version.split()[0]" will not work with python 3 because print is a function: http://docs.python.org/release/3.0.1/whatsnew/3.0.html so you'd rather use: "import sys; print(sys.version.split()[0])" Now you can avoid the trailing informations if you use "sys.version_info" instead of "sys.version". On 2.6.5+ you get something like: >>> print(sys.version_info) (2, 6, 5, 'final', 0) while on 3.1.x >>> print (sys.version_info) sys.version_info(major=3, minor=1, micro=2, releaselevel='final', serial=0) using separate sys.version_info[0] sys.version_info[1] sys.version_info[2] should work both with python 2.[56].x and 3.x.y. -- Erk Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org _______________________________________________ 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