[Piglit] [PATCH 13/13] cmake: use PythonInterp package and update version.

Dylan Baker baker.dylan.c at gmail.com
Thu Oct 31 16:02:56 CET 2013


On Thursday, October 31, 2013 09:48:09 AM Kenney Phillis wrote:
> The find_package(PythonInterp) for cmake version 2.8.6 and newer is
> capable of properly handling multiple versions of python. This is
> extremely useful on mixed systems where a person may have Python2 and
> Python3 installed side by side.
> ---
>  CMakeLists.txt |   27 ++++++++++-----------------
>  1 file changed, 10 insertions(+), 17 deletions(-)
> 
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index b70ae1d..a542f80 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -1,4 +1,4 @@
> -cmake_minimum_required(VERSION 2.6)
> +cmake_minimum_required(VERSION 2.8.6)
> 
>  list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules")
> 
> @@ -12,7 +12,8 @@ INCLUDE (FindPkgConfig)
>  project (piglit)
> 
>  find_package(X11)
> -
> +#Find Python 2.6 interpreter.
> +find_package(PythonInterp 2.6 REQUIRED)
> 
>  option(PIGLIT_BUILD_GL_TESTS "Build tests for OpenGL" ON)
>  option(PIGLIT_BUILD_GLES1_TESTS "Build tests for OpenGL ES1" OFF)
> @@ -181,22 +182,11 @@ IF(PIGLIT_BUILD_GLX_TESTS)
>  	pkg_check_modules(GLPROTO REQUIRED glproto)
>  ENDIF()
> 
> -# Check for presence of Python 2.6 or greater.
> -foreach(python_cmd python2 python)
> -	execute_process(
> -		COMMAND ${python_cmd} -c "import sys; assert '2.6' <= sys.version < 
'3'"
> -		OUTPUT_QUIET
> -		ERROR_QUIET
> -		RESULT_VARIABLE python_version_check_error_code)
> -	if(python_version_check_error_code EQUAL 0)
> -		set(python ${python_cmd})
> -		break()
> -	endif(python_version_check_error_code EQUAL 0)
> -endforeach(python_cmd)
> -
> -if(NOT DEFINED python)
> +if(NOT PYTHONINTERP_FOUND)
>  	message(FATAL_ERROR "python version 2.x (where x >= 6) required")
> -endif(NOT DEFINED python)
> +endif(NOT PYTHONINTERP_FOUND)
> +
> +set(python ${PYTHON_EXECUTABLE})
> 
>  # Check for the presence of several python packages, which are needed to
> build # generated tests.
> @@ -208,6 +198,9 @@ execute_process(
>  if(NOT import_numpy_error_code EQUAL 0)
>  	message(FATAL_ERROR "numpy python module not found")
>  endif(NOT import_numpy_error_code EQUAL 0)
> +
> +# Check for the presence of python packages, which are needed to build
> +# html results output.
>  execute_process(
>  	COMMAND ${python} -c "from mako.template import Template"
>  	OUTPUT_QUIET

We actually require python 2.7 becasue we use argparse. The VMware folks run 
2.6 with argparse installed seperately (via pip or similar), you'll either 
need to bump the version to 2.7 or include an additional check to ensure that 
argparse can be imported.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20131031/a0bab5ae/attachment.pgp>


More information about the Piglit mailing list