소스 검색

FindHg: Do not use cygwin hg on Windows

The cygwin hg client is a text file with a '#!/bin/python" line.
This cannot run on Windows.
Brad King 11 년 전
부모
커밋
ed997de4f2
1개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      Modules/FindHg.cmake

+ 4 - 0
Modules/FindHg.cmake

@@ -66,7 +66,11 @@ if(HG_EXECUTABLE)
   execute_process(COMMAND ${HG_EXECUTABLE} --version
   execute_process(COMMAND ${HG_EXECUTABLE} --version
                   OUTPUT_VARIABLE hg_version
                   OUTPUT_VARIABLE hg_version
                   ERROR_QUIET
                   ERROR_QUIET
+                  RESULT_VARIABLE hg_result
                   OUTPUT_STRIP_TRAILING_WHITESPACE)
                   OUTPUT_STRIP_TRAILING_WHITESPACE)
+  if(hg_result MATCHES "is not a valid Win32 application")
+    set_property(CACHE HG_EXECUTABLE PROPERTY VALUE "HG_EXECUTABLE-NOTFOUND")
+  endif()
   if(hg_version MATCHES "^Mercurial Distributed SCM \\(version ([0-9][^)]*)\\)")
   if(hg_version MATCHES "^Mercurial Distributed SCM \\(version ([0-9][^)]*)\\)")
     set(HG_VERSION_STRING "${CMAKE_MATCH_1}")
     set(HG_VERSION_STRING "${CMAKE_MATCH_1}")
   endif()
   endif()