diff options
author | Stephen Kelly <steveire@gmail.com> | 2017-01-13 18:25:40 +0000 |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2017-01-13 18:52:50 +0000 |
commit | 115ab483d8dc368324136512a5f093f1d5bfdce3 (patch) | |
tree | cf137085cfecb7a8c813dd85d3950830d38683b6 | |
parent | 4332f9eea11b5911f0b03c90df310a48e22114a5 (diff) | |
download | extra-cmake-modules-115ab483d8dc368324136512a5f093f1d5bfdce3.tar.gz extra-cmake-modules-115ab483d8dc368324136512a5f093f1d5bfdce3.tar.bz2 |
Bindings: Try to find libclang4 before trying to find libclang3
The LLVM project has picked a new version scheme
http://blog.llvm.org/2016/12/llvms-new-versioning-scheme.html
which means that major version numbers will be bumped more regularly,
the minor version will remain at zero, and the patch version will be
bumped. We will have to see how distros respond in terms of file
naming.
-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}) |