diff --git a/kcardgame/binding-example/CMakeLists.txt b/kcardgame/binding-example/CMakeLists.txt
index dba9e840..2a440fff 100644
--- a/kcardgame/binding-example/CMakeLists.txt
+++ b/kcardgame/binding-example/CMakeLists.txt
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.12)
cmake_policy(VERSION 3.12)
find_package(ECM 5 REQUIRED CONFIG)
-find_package(Qt5 COMPONENTS Core REQUIRED)
+find_package(Qt5 COMPONENTS Core Gui REQUIRED)
get_target_property(QtCore_location Qt5::Core LOCATION)
get_filename_component(QtCore_libdir ${QtCore_location} DIRECTORY)
@@ -18,7 +18,7 @@ set(bindings_library "Shiboken2QtExample")
set(wrapped_header ${CMAKE_SOURCE_DIR}/bindings.h)
set(typesystem_file ${CMAKE_SOURCE_DIR}/bindings.xml)
set(generated_sources
- ${CMAKE_CURRENT_BINARY_DIR}/${bindings_library}/qobjectwithenum_wrapper.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/${bindings_library}/kcarddeck_wrapper_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${bindings_library}/shiboken2qtexample_module_wrapper.cpp)
find_package(Python3 REQUIRED COMPONENTS Interpreter Development)
@@ -72,12 +72,15 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(${sample_library}_sources qobjectwithenum.cpp)
add_library(${sample_library} SHARED ${${sample_library}_sources})
-target_link_libraries(${sample_library} Qt5::Core)
+target_link_libraries(${sample_library} Qt5::Core Qt5::Gui)
set_property(TARGET ${sample_library} PROPERTY PREFIX "")
+get_target_property(qtgui_lib_includes Qt5::Gui INTERFACE_INCLUDE_DIRECTORIES)
+list(JOIN qtgui_lib_includes ";-I" lib2_includes)
get_target_property(qtcore_lib_includes Qt5::Core INTERFACE_INCLUDE_DIRECTORIES)
list(JOIN qtcore_lib_includes ";-I" lib_includes)
-set(lib_includes "-I${lib_includes}")
+set(lib_includes "-I${lib_includes}" "-I${lib2_includes}")
+
target_compile_definitions(${sample_library} PRIVATE BINDINGS_BUILD)
@@ -87,6 +90,9 @@ set(shiboken_options --generator-set=shiboken --enable-parent-ctor-heuristic
--avoid-protected-hack
--enable-pyside-extensions
-T/usr/share/PySide2/typesystems/
+ -I"${CMAKE_CURRENT_SOURCE_DIR}/../build-kpat/libkcardgame"
+ -I"${CMAKE_CURRENT_SOURCE_DIR}/../kpat/libkcardgame"
+-I"${CMAKE_CURRENT_SOURCE_DIR}/../kpat/libkcardgame/include"
${lib_includes}
-I${CMAKE_SOURCE_DIR}
-T${CMAKE_SOURCE_DIR}
@@ -109,9 +115,13 @@ set(${bindings_library}_sources ${generated_sources})
add_library(${bindings_library} MODULE ${${bindings_library}_sources})
target_include_directories(${bindings_library} PRIVATE ${python_include_dir})
+target_include_directories(${bindings_library} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../kpat/libkcardgame")
+target_include_directories(${bindings_library} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../build-kpat/libkcardgame")
+target_include_directories(${bindings_library} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../kpat/libkcardgame/include")
target_include_directories(${bindings_library} PRIVATE ${PYSIDE2_DIR}/include/)
target_include_directories(${bindings_library} PRIVATE "/usr/include/PySide2")
target_include_directories(${bindings_library} PRIVATE "/usr/include/PySide2/QtCore/")
+target_include_directories(${bindings_library} PRIVATE "/usr/include/PySide2/QtGui/")
target_include_directories(${bindings_library} PRIVATE ${PYSIDE2_DIR}/include/QtCore)
target_include_directories(${bindings_library} PRIVATE ${shiboken_include_dir})
target_include_directories(${bindings_library} PRIVATE ${CMAKE_SOURCE_DIR})
diff --git a/kcardgame/binding-example/bindings.h b/kcardgame/binding-example/bindings.h
index 0629afe0..100935db 100644
--- a/kcardgame/binding-example/bindings.h
+++ b/kcardgame/binding-example/bindings.h
@@ -1,3 +1,3 @@
#define QT_ANNOTATE_ACCESS_SPECIFIER(a) __attribute__((annotate(#a)))
-#include "qobjectwithenum.h"
+#include "kcardgame.hpp"
diff --git a/kcardgame/binding-example/bindings.xml b/kcardgame/binding-example/bindings.xml
index 29e009aa..e2c0c95f 100644
--- a/kcardgame/binding-example/bindings.xml
+++ b/kcardgame/binding-example/bindings.xml
@@ -1,7 +1,6 @@
-
-
+
diff --git a/kcardgame/binding-example/kcardgame.cpp b/kcardgame/binding-example/kcardgame.cpp
new file mode 100644
index 00000000..c34816fb
--- /dev/null
+++ b/kcardgame/binding-example/kcardgame.cpp
@@ -0,0 +1,20 @@
+/* A file to test imorting C modules for handling arrays to Python */
+
+#include "kcardgame.hpp"
+#include
+#include "KCardDeck"
+#include "KCardTheme"
+class KCardDeck_wrapper
+{
+ public:
+ KCardDeck * d;
+ KCardDeck_wrapper()
+ {
+ d = new KCardDeck( KCardTheme(), nullptr);
+ }
+QPixmap *get_card_pixmap(int i)
+{
+ auto ret = new QPixmap(d->cardPixmap(i, true));
+ return ret;
+}
+};
diff --git a/kcardgame/binding-example/kcardgame.hpp b/kcardgame/binding-example/kcardgame.hpp
new file mode 100644
index 00000000..9ff4447c
--- /dev/null
+++ b/kcardgame/binding-example/kcardgame.hpp
@@ -0,0 +1,18 @@
+#pragma once
+#include
+#include "KCardDeck"
+#include "KCardTheme"
+class KCardDeck_wrapper
+{
+ public:
+ KCardDeck * d;
+ KCardDeck_wrapper()
+ {
+ d = new KCardDeck( KCardTheme(), nullptr);
+ }
+QPixmap *get_card_pixmap(int i)
+{
+ auto ret = new QPixmap(d->cardPixmap(i, true));
+ return ret;
+}
+};