diff options
| -rw-r--r-- | find-modules/FindPythonModuleGeneration.cmake | 25 | 
1 files changed, 16 insertions, 9 deletions
| diff --git a/find-modules/FindPythonModuleGeneration.cmake b/find-modules/FindPythonModuleGeneration.cmake index 88f553dd..30fb5125 100644 --- a/find-modules/FindPythonModuleGeneration.cmake +++ b/find-modules/FindPythonModuleGeneration.cmake @@ -179,21 +179,28 @@ if (NOT GPB_PYTHON2_COMMAND)  endif()  if (NOT libclang_LIBRARY) -  set(_LIBCLANG3_MAX_VERSION 16) -  set(_LIBCLANG3_MIN_VERSION 8) +  set(_LIBCLANG_MAX_MAJOR_VERSION 7) +  set(_LIBCLANG_MIN_MAJOR_VERSION 4) -  find_library(libclang_LIBRARY clang-3.${_LIBCLANG3_MAX_VERSION}) +  find_library(libclang_LIBRARY clang-${_LIBCLANG_MAX_MAJOR_VERSION}.0)    if (libclang_LIBRARY) -    message(FATAL_ERROR "The max libclang-3 version in ${CMAKE_FIND_PACKAGE_NAME} must be updated.") +    message(FATAL_ERROR "The max libclang version in ${CMAKE_FIND_PACKAGE_NAME} must be updated.")    endif() -  set(_LIBCLANG3_FIND_VERSION ${_LIBCLANG3_MAX_VERSION}) -  while(NOT libclang_LIBRARY AND NOT _LIBCLANG3_FIND_VERSION EQUAL _LIBCLANG3_MIN_VERSION) -    math(EXPR _LIBCLANG3_FIND_VERSION "${_LIBCLANG3_FIND_VERSION} - 1") -    set(_GPB_CLANG_SUFFIX 3.${_LIBCLANG3_FIND_VERSION}) -    find_library(libclang_LIBRARY clang-3.${_LIBCLANG3_FIND_VERSION}) +  set(_LIBCLANG_FIND_VERSION ${_LIBCLANG_MAX_MAJOR_VERSION}) +  while(NOT libclang_LIBRARY AND NOT _LIBCLANG_FIND_VERSION EQUAL _LIBCLANG_MIN_MAJOR_VERSION) +    math(EXPR _LIBCLANG_FIND_VERSION "${_LIBCLANG_FIND_VERSION} - 1") +    set(_GPB_CLANG_SUFFIX ${_LIBCLANG_FIND_VERSION}.0) +    find_library(libclang_LIBRARY clang-${_LIBCLANG_FIND_VERSION}.0)    endwhile() + +  if (NOT libclang_LIBRARY) +    find_library(libclang_LIBRARY clang-3.9) +    if (NOT libclang_LIBRARY) +      find_library(libclang_LIBRARY clang-3.8) +    endif() +  endif()  else()    string(REGEX MATCH ".*clang-([0-9]+\\.[0-9]+).*" _GPB_CLANG_SUFFIX ${libclang_LIBRARY})    set(_GPB_CLANG_SUFFIX ${CMAKE_MATCH_1}) | 
