aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--find-modules/FindPythonModuleGeneration.cmake10
-rw-r--r--find-modules/sip_generator.py10
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