set(PyKDGantt_SRC
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_abstractgrid_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_abstractgrid_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_abstractrowcontroller_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_abstractrowcontroller_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_constraintgraphicsitem_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_constraintgraphicsitem_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_constraintmodel_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_constraintmodel_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_constraintproxy_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_constraintproxy_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_constraint_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_constraint_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_datetimegrid_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_datetimegrid_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_datetimescaleformatter_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_datetimescaleformatter_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_forwardingproxymodel_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_forwardingproxymodel_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_graphicsscene_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_graphicsscene_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_graphicsview_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_graphicsview_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_itemdelegate_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_itemdelegate_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_legend_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_legend_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_listviewrowcontroller_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_listviewrowcontroller_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_proxymodel_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_proxymodel_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_python.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_span_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_span_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_styleoptionganttitem_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_styleoptionganttitem_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_summaryhandlingproxymodel_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_summaryhandlingproxymodel_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_treeviewrowcontroller_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_treeviewrowcontroller_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_view_wrapper.cpp
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_view_wrapper.h
  ${CMAKE_CURRENT_BINARY_DIR}/KDGantt/kdgantt_module_wrapper.cpp
)

set(PyKDGantt_include_paths
  $<JOIN:$<TARGET_PROPERTY:kdchart,INTERFACE_INCLUDE_DIRECTORIES>,${PATH_SEP}>
  $<JOIN:$<TARGET_PROPERTY:Qt5::Core,INTERFACE_INCLUDE_DIRECTORIES>,${PATH_SEP}>
  $<JOIN:$<TARGET_PROPERTY:Qt5::Widgets,INTERFACE_INCLUDE_DIRECTORIES>,${PATH_SEP}>
  $<JOIN:$<TARGET_PROPERTY:Qt5::PrintSupport,INTERFACE_INCLUDE_DIRECTORIES>,${PATH_SEP}>
)

set(PyKDGantt_typesystem_paths
  ${PYSIDE_TYPESYSTEMS}
)

set(PyKDGantt_target_include_directories
  ${PYSIDE_INCLUDE_DIR}/QtCore
  ${PYSIDE_INCLUDE_DIR}/QtGui
  ${PYSIDE_INCLUDE_DIR}/QtWidgets
)

set(PyKDGantt_target_link_libraries
  kdchart
  Qt5::Core
  Qt5::Widgets
  Qt5::PrintSupport
)

set(PyKDGantt_DEPENDS
  ${CMAKE_CURRENT_SOURCE_DIR}/kdgantt_global.h
)

create_python_bindings(
  "KDGantt"
  "${PyKDGantt_typesystem_paths}"
  "${PyKDGantt_include_paths}"
  "${PyKDGantt_SRC}"
  "${PyKDGantt_target_include_directories}"
  "${PyKDGantt_target_link_libraries}"
  ${CMAKE_CURRENT_SOURCE_DIR}/kdgantt_global.h
  ${CMAKE_CURRENT_SOURCE_DIR}/typesystem_kdgantt.xml
  "${PyKDGantt_DEPENDS}"
  ${BINDING_OUTPUT_DIR}
)
