1
- find_package (PythonInterp "3.3" REQUIRED )
1
+ find_package (Python3 REQUIRED COMPONENTS Interpreter Development )
2
2
3
3
if (__PYTHON_QT_BINDING_SHIBOKEN_HELPER_INCLUDED )
4
4
return ()
5
5
endif ()
6
6
set (__PYTHON_QT_BINDING_SHIBOKEN_HELPER_INCLUDED TRUE )
7
7
8
- set (PYTHON_SUFFIX ".cpython-${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} m" )
9
- set (PYTHON_EXTENSION_SUFFIX "${PYTHON_SUFFIX} -${CMAKE_CXX_LIBRARY_ARCHITECTURE} " )
10
-
11
8
find_package (Shiboken2 QUIET )
12
9
if (Shiboken2_FOUND )
13
10
message (STATUS "Found Shiboken2 version ${Shiboken2_VERSION} " )
@@ -20,7 +17,6 @@ if(Shiboken2_FOUND)
20
17
message (STATUS "Using SHIBOKEN_LIBRARY: ${SHIBOKEN_LIBRARY} " )
21
18
message (STATUS "Using SHIBOKEN_BINARY: ${SHIBOKEN_BINARY} " )
22
19
endif ()
23
- set (PYTHON_BASENAME "${PYTHON_SUFFIX} -${CMAKE_CXX_LIBRARY_ARCHITECTURE} " )
24
20
25
21
find_package (PySide2 QUIET )
26
22
if (PySide2_FOUND )
@@ -33,20 +29,9 @@ if(PySide2_FOUND)
33
29
message (STATUS "Using PYSIDE_LIBRARY: ${PYSIDE_LIBRARY} " )
34
30
endif ()
35
31
36
- set (Python_ADDITIONAL_VERSIONS "${PYTHON_VERSION_MAJOR} .${PYTHON_VERSION_MINOR} " )
37
- find_package (PythonLibs "${PYTHON_VERSION_MAJOR} .${PYTHON_VERSION_MINOR} " )
38
-
39
- if (Shiboken2_FOUND AND PySide2_FOUND AND PYTHONLIBS_FOUND )
40
- if (${CMAKE_VERSION} VERSION_LESS "3.14" )
41
- # the shiboken invocation needs CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
42
- # which is broken before CMake 3.14
43
- # see https://gitlab.kitware.com/cmake/cmake/issues/18394
44
- message (STATUS "Shiboken binding generator available but CMake version is older than 3.14." )
45
- set (shiboken_helper_NOTFOUND TRUE )
46
- else ()
47
- message (STATUS "Shiboken binding generator available." )
48
- set (shiboken_helper_FOUND TRUE )
49
- endif ()
32
+ if (Shiboken2_FOUND AND PySide2_FOUND )
33
+ message (STATUS "Shiboken binding generator available." )
34
+ set (shiboken_helper_FOUND TRUE )
50
35
else ()
51
36
message (STATUS "Shiboken binding generator NOT available." )
52
37
set (shiboken_helper_NOTFOUND TRUE )
@@ -97,14 +82,14 @@ endmacro()
97
82
# :type BUILD_DIR: string
98
83
#
99
84
function (shiboken_generator PROJECT_NAME GLOBAL TYPESYSTEM WORKING_DIR GENERATED_SRCS HDRS INCLUDE_PATH BUILD_DIR )
100
- _shiboken_generator_command (COMMAND "${GLOBAL} " "${TYPESYSTEM} " "${INCLUDE_PATH} " "${BUILD_DIR} " )
101
- add_custom_command (
102
- OUTPUT ${GENERATED_SRCS}
103
- COMMAND ${COMMAND}
104
- DEPENDS ${GLOBAL} ${TYPESYSTEM} ${HDRS}
105
- WORKING_DIRECTORY ${WORKING_DIR}
106
- COMMENT "Running Shiboken generator for ${PROJECT_NAME} Python bindings..."
107
- )
85
+ _shiboken_generator_command (COMMAND "${GLOBAL} " "${TYPESYSTEM} " "${INCLUDE_PATH} " "${BUILD_DIR} " )
86
+ add_custom_command (
87
+ OUTPUT ${GENERATED_SRCS}
88
+ COMMAND ${COMMAND}
89
+ DEPENDS ${GLOBAL} ${TYPESYSTEM} ${HDRS}
90
+ WORKING_DIRECTORY ${WORKING_DIR}
91
+ COMMENT "Running Shiboken generator for ${PROJECT_NAME} Python bindings..."
92
+ )
108
93
endfunction ()
109
94
110
95
@@ -117,19 +102,19 @@ endfunction()
117
102
# :type QT_COMPONENTS: list of strings
118
103
#
119
104
function (shiboken_include_directories PROJECT_NAME QT_COMPONENTS )
120
- set (shiboken_INCLUDE_DIRECTORIES
121
- ${PYTHON_INCLUDE_DIR }
122
- ${SHIBOKEN_INCLUDE_DIR}
123
- ${PYSIDE_INCLUDE_DIR}
124
- ${PYSIDE_INCLUDE_DIR} /QtCore
125
- ${PYSIDE_INCLUDE_DIR} /QtGui
126
- )
127
-
128
- foreach (component ${QT_COMPONENTS} )
129
- set (shiboken_INCLUDE_DIRECTORIES ${shiboken_INCLUDE_DIRECTORIES} ${PYSIDE_INCLUDE_DIR} /${component} )
130
- endforeach ()
131
-
132
- include_directories (${PROJECT_NAME} ${shiboken_INCLUDE_DIRECTORIES} )
105
+ set (shiboken_INCLUDE_DIRECTORIES
106
+ ${Python3_INCLUDE_DIRS }
107
+ ${SHIBOKEN_INCLUDE_DIR}
108
+ ${PYSIDE_INCLUDE_DIR}
109
+ ${PYSIDE_INCLUDE_DIR} /QtCore
110
+ ${PYSIDE_INCLUDE_DIR} /QtGui
111
+ )
112
+
113
+ foreach (component ${QT_COMPONENTS} )
114
+ set (shiboken_INCLUDE_DIRECTORIES ${shiboken_INCLUDE_DIRECTORIES} ${PYSIDE_INCLUDE_DIR} /${component} )
115
+ endforeach ()
116
+
117
+ include_directories (${PROJECT_NAME} ${shiboken_INCLUDE_DIRECTORIES} )
133
118
endfunction ()
134
119
135
120
@@ -142,16 +127,16 @@ endfunction()
142
127
# :type QT_COMPONENTS: list of strings
143
128
#
144
129
function (shiboken_target_link_libraries PROJECT_NAME QT_COMPONENTS )
145
- set (shiboken_LINK_LIBRARIES
146
- ${SHIBOKEN_PYTHON_LIBRARIES}
147
- ${SHIBOKEN_LIBRARY}
148
- ${PYSIDE_LIBRARY}
149
- )
150
-
151
- foreach (component ${QT_COMPONENTS} )
152
- string (TOUPPER ${component} component )
153
- set (shiboken_LINK_LIBRARIES ${shiboken_LINK_LIBRARIES} ${QT_${component}_LIBRARY} )
154
- endforeach ()
155
-
156
- target_link_libraries (${PROJECT_NAME} ${shiboken_LINK_LIBRARIES} )
130
+ set (shiboken_LINK_LIBRARIES
131
+ ${SHIBOKEN_PYTHON_LIBRARIES}
132
+ ${SHIBOKEN_LIBRARY}
133
+ ${PYSIDE_LIBRARY}
134
+ )
135
+
136
+ foreach (component ${QT_COMPONENTS} )
137
+ string (TOUPPER ${component} component )
138
+ set (shiboken_LINK_LIBRARIES ${shiboken_LINK_LIBRARIES} ${QT_${component}_LIBRARY} )
139
+ endforeach ()
140
+
141
+ target_link_libraries (${PROJECT_NAME} ${shiboken_LINK_LIBRARIES} )
157
142
endfunction ()
0 commit comments