aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2015-10-15 14:45:45 -0700
committerGerald Combs <gerald@wireshark.org>2015-10-16 20:40:28 +0000
commit7682ae4887fbc45c8d4e3f0d8f21cd9d9093c83b (patch)
treea0aa1521e96a473a8da95d65deb82aa035a12662 /cmake
parent71398e26f7265861e9be75973da6d1aff116e5a8 (diff)
Keep CMake from finding Cygwin's Python.
Try to find Python and set PYTHON_EXECUTABLE on Windows via the registry prior to calling FindPythonInterp. This works around a bug in CMake that prefers Cygwin's Python, which is a symlink, which by default is a text file that contains a Cygwin-specific cookie, which is therefore useless outside of Cygwin. This is avoids the need to pass -DPYTHON_EXECUTABLE=... to CMake. Change-Id: Ife37221b61d920682c20357b6d139a93067a5ad1 Reviewed-on: https://code.wireshark.org/review/11071 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/LocatePythonExecutable.cmake18
1 files changed, 18 insertions, 0 deletions
diff --git a/cmake/modules/LocatePythonExecutable.cmake b/cmake/modules/LocatePythonExecutable.cmake
new file mode 100644
index 0000000000..125ed5fff5
--- /dev/null
+++ b/cmake/modules/LocatePythonExecutable.cmake
@@ -0,0 +1,18 @@
+# Try to find Python and set PYTHON_EXECUTABLE on Windows prior to
+# calling FindPythonInterp in order to keep us from using Cygwin's Python.
+# http://public.kitware.com/Bug/view.php?id=13818
+
+if(NOT PYTHON_EXECUTABLE AND WIN32)
+ foreach(_major_version 3 2)
+ foreach(_minor_version 7 6 5 4 3 2 1)
+ find_program(PYTHON_EXECUTABLE
+ python.exe
+ PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_major_version}.${_minor_version}\\InstallPath]
+ NO_DEFAULT_PATH
+ )
+ if (PYTHON_EXECUTABLE)
+ break()
+ endif()
+ endforeach()
+ endforeach()
+endif() \ No newline at end of file