Revision control

Copy as Markdown

# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
if(QT6_INSTALL_QT_SHAREDIR)
set(INSTALL_WEBCHANNEL_SHAREDIR "${QT6_INSTALL_QT_SHAREDIR}/webchannel")
else()
set(INSTALL_WEBCHANNEL_SHAREDIR "${INSTALL_QT_SHAREDIR}/webchannel")
endif()
include(CMakePackageConfigHelpers)
set(target "WebChannel")
set(path_suffix "${INSTALL_CMAKE_NAMESPACE}${target}")
qt_path_join(config_build_dir ${QT_CONFIG_BUILD_DIR} ${path_suffix})
qt_path_join(config_install_dir ${QT_CONFIG_INSTALL_DIR} ${path_suffix})
configure_package_config_file(
Qt6WebChannelExtras.cmake.in
"${config_build_dir}/Qt6WebChannelExtras.cmake"
INSTALL_DESTINATION "${config_install_dir}"
PATH_VARS INSTALL_WEBCHANNEL_SHAREDIR
)
qt_internal_add_module(WebChannel
SOURCES
qmetaobjectpublisher.cpp qmetaobjectpublisher_p.h
qwebchannel.cpp qwebchannel.h qwebchannel_p.h
qwebchannelabstracttransport.cpp qwebchannelabstracttransport.h
signalhandler_p.h
qwebchannelglobal.h
qwebchannel.js
DEFINES
QT_NO_CONTEXTLESS_CONNECT
LIBRARIES
Qt::CorePrivate
EXTRA_CMAKE_FILES
"${config_build_dir}/Qt6WebChannelExtras.cmake"
EXTRA_CMAKE_INCLUDES
Qt6WebChannelExtras.cmake
)
qt_internal_add_resource(WebChannel "resources"
PREFIX
"/qtwebchannel/"
FILES
qwebchannel.js
)
if(TARGET Qt::Qml)
qt_internal_extend_target(WebChannel PUBLIC_LIBRARIES Qt::Qml)
else()
qt_internal_extend_target(WebChannel DEFINES QT_NO_JSVALUE)
endif()
qt_internal_add_docs(WebChannel
doc/qtwebchannel.qdocconf
)
install(FILES qwebchannel.js
DESTINATION "${INSTALL_WEBCHANNEL_SHAREDIR}")
file(COPY qwebchannel.js
DESTINATION "${QT_BUILD_DIR}/${INSTALL_WEBCHANNEL_SHAREDIR}/")