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 |