[Piglit] [PATCH 1/2] cmake: Install piglit as piglit.py on Windows.
Dylan Baker
baker.dylan.c at gmail.com
Tue Jun 3 15:01:57 PDT 2014
On Tuesday, June 03, 2014 06:58:37 PM jfonseca at vmware.com wrote:
> From: José Fonseca <jfonseca at vmware.com>
>
> Windows doesn't support #!. Instead it knows how to invoke scripts
> based off the file extension.
> ---
> CMakeLists.txt | 7 ++++++-
> piglit | 4 ++++
> 2 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index a77a2a8..fed58bb 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -450,8 +450,13 @@ install (
> REGEX "CMakeFiles|CMakeLists" EXCLUDE
> )
>
> +if (WIN32)
> + set (PYTHON_SUFFIX ".py")
> +else ()
> + set (PYTHON_SUFFIX "")
> +endif ()
> install (
> - PROGRAMS piglit RENAME piglit${PIGLIT_INSTALL_VERSION_SUFFIX}
> + PROGRAMS piglit RENAME
> piglit${PIGLIT_INSTALL_VERSION_SUFFIX}${PYTHON_SUFFIX} DESTINATION
> ${CMAKE_INSTALL_BINDIR}
> )
>
> diff --git a/piglit b/piglit
> index dcb51db..bf53876 100755
> --- a/piglit
> +++ b/piglit
> @@ -40,6 +40,10 @@ import argparse
> # muck with things, if not we need to screw with the python path
> if not path.exists('HACKING'):
> _binpath, _bin = path.split(__file__)
> + _binname, _binext = path.splitext(_bin)
> + if _binext == '.py':
> + # Drop .py extension (used on Windows)
> + _bin = _binname
This is to allow the sys.path manipulation to work on windows, correct?
In that case could we wrap this in an obvious windows specific check,
something like:
if sys.platform == 'win32':
_bin = path.splitext(_bin)[0] # remove '.py' from name
> _libdir = path.abspath(path.join(_binpath, '..', 'lib', _bin))
> sys.path.append(_libdir)
> if 'PIGLIT_SOURCE_DIR' not in os.environ:
-------------- 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/20140603/7a61a4a8/attachment.sig>
More information about the Piglit
mailing list