@@ -49,10 +49,10 @@ set(generated_sources
4949 )
5050
5151# ================================== Shiboken detection ======================================
52- if (NOT python_interpreter )
53- find_program (python_interpreter "python" )
52+ if (NOT PYTHON_EXECUTABLE )
53+ find_program (PYTHON_EXECUTABLE "python" )
5454endif ()
55- message (STATUS "Using python interpreter: ${python_interpreter } " )
55+ message (STATUS "Using python interpreter: ${PYTHON_EXECUTABLE } " )
5656
5757find_package (Shiboken2 2.0.0 REQUIRED )
5858find_package (Shiboken2 COMPONENTS libshiboken REQUIRED )
@@ -137,15 +137,34 @@ target_link_libraries(${bindings_library} PRIVATE ${SHIBOKEN_LIBRARY})
137137target_link_libraries (${bindings_library} PRIVATE ${ADS_LINK_LIBRARIES} )
138138target_link_libraries (${bindings_library} PRIVATE ${ADS_LIBRARY} )
139139
140+ if (UNIX )
141+ target_link_libraries (qmn PUBLIC qtadvanceddocking PySide2::pyside2 )
142+ endif ()
143+
140144# Adjust the name of generated module.
141145set_property (TARGET ${bindings_library} PROPERTY PREFIX "" )
142- set_property (TARGET ${bindings_library} PROPERTY OUTPUT_NAME
143- "${bindings_library}${PYTHON_EXTENSION_SUFFIX} " )
144146if (WIN32 )
147+ set_property (TARGET ${bindings_library} PROPERTY OUTPUT_NAME
148+ "${bindings_library}${PYTHON_EXTENSION_SUFFIX} " )
145149 set_property (TARGET ${bindings_library} PROPERTY SUFFIX "${PYTHON_CONFIG_SUFFIX} .pyd" )
150+ else ()
151+ set_property (TARGET ${bindings_library} PROPERTY OUTPUT_NAME
152+ "${bindings_library}${PYTHON_CONFIG_SUFFIX} " )
146153endif ()
147154
148155# Make sure the linker doesn't complain about not finding Python symbols on macOS.
149156if (APPLE )
150157 set_target_properties (${bindings_library} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup" )
151- endif (APPLE )
158+ endif (APPLE )
159+
160+
161+ # =============================== CMake target - pyi =============================
162+ set (generate_pyi_options QtAds --sys-path
163+ "${CMAKE_LIBRARY_OUTPUT_DIRECTORY} /../.." )
164+
165+ # Add target to generate pyi file, which depends on the module target.
166+ add_custom_target ("${bindings_library} _pyi" ALL
167+ COMMAND ${CMAKE_COMMAND} -E env ${ld_prefix}
168+ "${PYTHON_EXECUTABLE} "
169+ "${CMAKE_CURRENT_SOURCE_DIR} /support/generate_pyi.py" ${generate_pyi_options} )
170+ add_dependencies ("${bindings_library} _pyi" ${bindings_library} )
0 commit comments