summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2017-06-08 15:30:35 -0700
committerGerald Combs <gerald@wireshark.org>2017-06-08 22:41:20 +0000
commit6a16f158c849c054bd1a4b71e0c497df48933797 (patch)
tree6ff459a78a60923501caa08dc989d5cc98efede2 /cmake
parent49a55b9666329971e2c17d69179c331160fa7b40 (diff)
downloadwireshark-6a16f158c849c054bd1a4b71e0c497df48933797.tar.gz
CMake: Look for Python in more places.
According to PEP 514, Python.org's Windows installer stores its installation path in HKEY_LOCAL_MACHINE\Software\Python\<Company>\<Tag>\InstallPath where <Tag> is the value of sys.winver. Newer versions of python add "-32" and "-64" to the version in order to allow side by side installations. Adjust LocatePythonExecutable accordingly. Change-Id: I8c7f8b4c31b37e7f687ce9909f97d62a779cfa91 Reviewed-on: https://code.wireshark.org/review/22048 Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/LocatePythonExecutable.cmake11
1 files changed, 7 insertions, 4 deletions
diff --git a/cmake/modules/LocatePythonExecutable.cmake b/cmake/modules/LocatePythonExecutable.cmake
index 3d48861a9c..2f77fbdc0d 100644
--- a/cmake/modules/LocatePythonExecutable.cmake
+++ b/cmake/modules/LocatePythonExecutable.cmake
@@ -5,14 +5,17 @@
if(NOT PYTHON_EXECUTABLE AND WIN32)
foreach(_major_version 3 2)
foreach(_minor_version 7 6 5 4 3 2 1)
+ if (PYTHON_EXECUTABLE)
+ break()
+ endif()
find_program(PYTHON_EXECUTABLE
python.exe
- PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_major_version}.${_minor_version}\\InstallPath]
+ PATHS
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_major_version}.${_minor_version}\\InstallPath]
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_major_version}.${_minor_version}-32\\InstallPath]
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_major_version}.${_minor_version}-64\\InstallPath]
NO_DEFAULT_PATH
)
- if (PYTHON_EXECUTABLE)
- break()
- endif()
endforeach()
endforeach()
endif()