diff options
| -rw-r--r-- | find-modules/FindPythonModuleGeneration.cmake | 10 | ||||
| -rw-r--r-- | find-modules/sip_generator.py | 10 | 
2 files changed, 10 insertions, 10 deletions
| diff --git a/find-modules/FindPythonModuleGeneration.cmake b/find-modules/FindPythonModuleGeneration.cmake index 1d6079e9..2362c454 100644 --- a/find-modules/FindPythonModuleGeneration.cmake +++ b/find-modules/FindPythonModuleGeneration.cmake @@ -180,7 +180,7 @@ endif()  if (NOT libclang_LIBRARY)    set(_LIBCLANG_MAX_MAJOR_VERSION 7) -  set(_LIBCLANG_MIN_MAJOR_VERSION 4) +  set(_LIBCLANG_MIN_MAJOR_VERSION 5)    find_library(libclang_LIBRARY clang-${_LIBCLANG_MAX_MAJOR_VERSION}.0) @@ -196,12 +196,6 @@ if (NOT libclang_LIBRARY)    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() -  if (NOT libclang_LIBRARY)      find_library(libclang_LIBRARY clang)    endif()  else() @@ -210,7 +204,7 @@ else()  endif()  if (NOT libclang_LIBRARY) -  _report_NOT_FOUND("Could not find libclang version 3.8 or greater.") +  _report_NOT_FOUND("Could not find libclang version 5.0 or greater.")  else()    message(STATUS "Found ${libclang_LIBRARY}")  endif() diff --git a/find-modules/sip_generator.py b/find-modules/sip_generator.py index 58ae1829..1ebaba61 100644 --- a/find-modules/sip_generator.py +++ b/find-modules/sip_generator.py @@ -416,7 +416,10 @@ class SipGenerator(object):      def _enum_get(self, container, enum, level):          pad = " " * (level * 4) -        decl = pad + "enum {} {{\n".format(enum.displayname) +        scoped = "" +        if enum.is_scoped_enum(): +            scoped = "class " +        decl = pad + "enum {}{} {{\n".format(scoped, enum.displayname)          enumerations = []          for enum in enum.get_children():              # @@ -609,7 +612,10 @@ class SipGenerator(object):                  typeText = text                  typeInit = "" -            prefix = parameterType.spelling.rsplit("::", 1)[0] +            if parameterType.kind == TypeKind.ENUM and parameterType.get_declaration().is_scoped_enum(): +                prefix = parameterType.spelling +            else: +                prefix = parameterType.spelling.rsplit("::", 1)[0]              if "::" in typeText:                  typeText = typeText.rsplit("::", 1)[1]              return prefix + "::" + typeText + typeInit | 
