# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause

set(QtRemoteObjects_SRC
${QtRemoteObjects_GEN_DIR}/qabstractitemmodelreplica_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qconnectionabstractserver_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjectabstractpersistedstore_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjectdynamicreplica_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjecthost_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjecthostbase_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjectnode_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjectpendingcall_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjectpendingcallwatcher_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjectregistry_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjectregistryhost_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjectreplica_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qtremoteobjects_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjectsettingsstore_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qremoteobjectsourcelocationinfo_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qtroclientfactory_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qtroclientiodevice_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qtroiodevicebase_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qtroserverfactory_wrapper.cpp
${QtRemoteObjects_GEN_DIR}/qtroserveriodevice_wrapper.cpp

# module is always needed
${QtRemoteObjects_GEN_DIR}/qtremoteobjects_module_wrapper.cpp
)

find_package(Qt6 REQUIRED COMPONENTS Core)

set(QtRemoteObjects_include_dirs
    ${SHIBOKEN_INCLUDE_DIR}
    ${SHIBOKEN_PYTHON_INCLUDE_DIR}
    ${QtCore_GEN_DIR}
    ${QtNetwork_GEN_DIR}
)

set(QtRemoteObjects_deps QtCore QtNetwork)

set(QtRemoteObjects_libraries
    pyside6remoteobjects
    Qt::RemoteObjects
)

create_pyside_module(NAME QtRemoteObjects
                     INCLUDE_DIRS QtRemoteObjects_include_dirs
                     LIBRARIES QtRemoteObjects_libraries
                     DEPS QtRemoteObjects_deps
                     TYPESYSTEM_PATH CMAKE_CURRENT_SOURCE_DIR
                     SOURCES QtRemoteObjects_SRC
                     TYPESYSTEM_NAME "${CMAKE_CURRENT_BINARY_DIR}/typesystem_remoteobjects.xml"
                     )
