File: FindPython.cmake

package info (click to toggle)
nexus 4.4.3-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 26,864 kB
  • sloc: cpp: 34,928; ansic: 17,317; f90: 2,326; xml: 2,071; java: 1,953; fortran: 1,529; python: 766; makefile: 532; sh: 460; tcl: 173; lisp: 169
file content (104 lines) | stat: -rw-r--r-- 4,360 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# - Find python interpreter
# This module finds if Python interpreter is installed and determines where the
# executables are. This code sets the following variables:
#
#  PYTHONINTERP_FOUND - Was the Python executable found
#  PYTHON_EXECUTABLE  - path to the Python interpreter
#  PYTHON_DOC  - path to the Python documentation generator
#  PYTHON_COMPILE  - path to the Python compilerr
#

#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distributed this file outside of CMake, substitute the full
#  License text for the above reference.)
#
# Updated to find pydoc and pycompile also 2.7. Stephen Rankin (STFC) 2011.
#
#
#

set(MS_PATHS
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.7\\InstallPath]   
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.6\\InstallPath]
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.5\\InstallPath]
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.4\\InstallPath]
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.3\\InstallPath]
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.2\\InstallPath]
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.1\\InstallPath]
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.0\\InstallPath]
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\1.6\\InstallPath]
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\1.5\\InstallPath])

set(MS_LIB_PATHS
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.7\\InstallPath]/Lib   
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.6\\InstallPath]/Lib
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.5\\InstallPath]/Lib
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.4\\InstallPath]/Lib
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.3\\InstallPath]/Lib
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.2\\InstallPath]/Lib
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.1\\InstallPath]/Lib
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.0\\InstallPath]/Lib
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\1.6\\InstallPath]/Lib
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\1.5\\InstallPath]/Lib)

set(PYTHON_NAMES python2.7 python2.6 python2.5 python2.4 python2.3 python2.2
                 python2.1 python2.0 python1.6 python1.5 python)
set(PYTHON_DOC_NAMES pydoc2.7 pydoc2.6 pydoc2.5 pydoc2.4 pydoc2.3 pydoc2.2
                     pydoc2.1 pydoc2.0 pydoc1.6 pydoc1.5 pydoc
                     pydoc2.7.pyc pydoc2.6.pyc pydoc2.5.pyc pydoc2.4.pyc
                     pydoc2.3.pyc pydoc2.2.pyc pydoc2.1.pyc pydoc2.0.pyc
                     pydoc1.6.pyc pydoc1.5.pyc pydoc.pyc)

set(PYTHON_COMPILE_NAMES pycompile2.7 pycompile2.6 pycompile2.5 pycompile2.4
                         pycompile2.3 pycompile2.2 pycompile2.1 pycompile2.0
                         pycompile1.6 pycompile1.5 pycompile py_compile
                         pycompile2.7.py pycompile2.6.py pycompile2.5.py pycompile2.4.py
                         pycompile2.3.py pycompile2.2.py pycompile2.1.py pycompile2.0.py
                         pycompile1.6.py pycompile1.5.py pycompile.py py_compile.py)

FIND_PROGRAM(PYTHON_EXECUTABLE
  NAMES ${PYTHON_NAMES}
  PATHS
  ${MS_PATHS} ${MS_LIB_PATHS}
)

FIND_PROGRAM(PYTHON_DOC
  NAMES ${PYTHON_DOC_NAMES}
  PATHS
  ${MS_PATHS} ${MS_LIB_PATHS}
)

FIND_FILE(PYTHON_DOC
  NAMES ${PYTHON_DOC_NAMES}
  PATHS
  ${MS_PATHS} ${MS_LIB_PATHS}
)

FIND_PROGRAM(PYTHON_COMPILE
  NAMES ${PYTHON_COMPILE_NAMES}
  PATHS
  ${MS_PATHS} ${MS_LIB_PATHS}
)

FIND_FILE(PYTHON_COMPILE
  NAMES ${PYTHON_COMPILE_NAMES}
  PATHS
  ${MS_PATHS} ${MS_LIB_PATHS}
)

# handle the QUIETLY and REQUIRED arguments and set PYTHONINTERP_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonInterp DEFAULT_MSG PYTHON_EXECUTABLE PYTHON_DOC PYTHON_COMPILE)

MARK_AS_ADVANCED(PYTHON_EXECUTABLE PYTHON_DOC PYTHON_COMPILE)