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}) |