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

set(QtWebEngineCore_static_sources
    "${CMAKE_CURRENT_SOURCE_DIR}/glue/webenginepage_functors.cpp"
    "${CMAKE_CURRENT_SOURCE_DIR}/glue/webenginepage_functors.h"
    "${CMAKE_CURRENT_SOURCE_DIR}/glue/webengineframe.cpp"
    "${CMAKE_CURRENT_SOURCE_DIR}/glue/webengineframe.h"
)

set(QtWebEngineCore_DROPPED_ENTRIES)

set(QtWebEngineCore_SRC
${QtWebEngineCore_GEN_DIR}/qwebenginecertificateerror_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineclientcertificateselection_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineclientcertificatestore_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineclienthints_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginecontextmenurequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginecookiestore_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginecookiestore_filterrequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginedesktopmediarequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginedownloadrequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginefilesystemaccessrequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginefindtextresult_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineframe_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginefullscreenrequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineglobalsettings_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineglobalsettings_dnsmode_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginehistory_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginehistoryitem_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginehistorymodel_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginehttprequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginenavigationrequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineloadinginfo_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginenewwindowrequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginenotification_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginepage_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginepermission_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineprofile_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineprofilebuilder_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginequotarequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineregisterprotocolhandlerrequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginescript_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginescriptcollection_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginesettings_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineurlrequestinfo_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineurlrequestinterceptor_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineurlrequestjob_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineurlscheme_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebengineurlschemehandler_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginewebauthpinrequest_wrapper.cpp
${QtWebEngineCore_GEN_DIR}/qwebenginewebauthuxrequest_wrapper.cpp
# module is always needed
${QtWebEngineCore_GEN_DIR}/qtwebenginecore_module_wrapper.cpp
)

get_property(QtWebEngineCore_enabled_features TARGET Qt${QT_MAJOR_VERSION}::WebEngineCore
             PROPERTY QT_ENABLED_PUBLIC_FEATURES)

if("webengine_extensions" IN_LIST QtWebEngineCore_enabled_features)
    list(APPEND QtWebEngineCore_SRC
         ${QtWebEngineCore_GEN_DIR}/qwebengineextensioninfo_wrapper.cpp
         ${QtWebEngineCore_GEN_DIR}/qwebengineextensionmanager_wrapper.cpp)
else()
    list(APPEND QtWebEngineCore_DROPPED_ENTRIES QWebEngineExtensionInfo QWebEngineExtensionManager)
endif()

set(QtWebEngineCore_include_dirs
    ${QtCore_GEN_DIR}
    ${QtGui_GEN_DIR}
    ${QtWidgets_GEN_DIR}
    ${QtNetwork_GEN_DIR}
    ${QtPrintSupport_GEN_DIR}
    ${QtWebChannel_GEN_DIR}
)

set(QtWebEngineCore_deps
    QtCore
    QtGui
    QtNetwork
    QtPrintSupport
    QtWebChannel
)

set(QtWebEngineCore_libraries
    Qt::PrintSupport
    Qt::WebEngineCore
)

create_pyside_module(NAME QtWebEngineCore
                     INCLUDE_DIRS QtWebEngineCore_include_dirs
                     STATIC_SOURCES QtWebEngineCore_static_sources
                     LIBRARIES QtWebEngineCore_libraries
                     DEPS QtWebEngineCore_deps
                     TYPESYSTEM_PATH CMAKE_CURRENT_SOURCE_DIR
                     SOURCES QtWebEngineCore_SRC
                     DROPPED_ENTRIES QtWebEngineCore_DROPPED_ENTRIES)
