Provide header files to select Qt WebKit/WebEngine
Allows supporting Qt WebKit and Qt WebEngine at the same time more conveniently
This commit is contained in:
parent
93245e9e0c
commit
14c3c7690a
|
@ -95,6 +95,11 @@ set(CMAKE_MODULE_FILES
|
|||
cmake/modules/WebViewProviderConfig.cmake
|
||||
)
|
||||
|
||||
set(CMAKE_TEMPLATE_FILES
|
||||
cmake/templates/webviewdefs.h.in
|
||||
cmake/templates/webviewincludes.h.in
|
||||
)
|
||||
|
||||
set(TS_FILES
|
||||
translations/${META_PROJECT_NAME}_de_DE.ts
|
||||
translations/${META_PROJECT_NAME}_en_US.ts
|
||||
|
|
|
@ -48,6 +48,32 @@ else()
|
|||
endif()
|
||||
|
||||
if(WEBVIEW_PROVIDER)
|
||||
# require the selected Qt module
|
||||
use_qt5_module(${WEBVIEW_PROVIDER} REQUIRED)
|
||||
|
||||
# add header files with some defines/includes to conveniently use the selected provider
|
||||
if(META_WEBVIEW_SRC_DIR)
|
||||
set(WEBVIEW_HEADER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${META_WEBVIEW_SRC_DIR}")
|
||||
else()
|
||||
set(WEBVIEW_HEADER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/gui")
|
||||
endif()
|
||||
include(TemplateFinder)
|
||||
find_template_file("webviewdefs.h" QT_UTILITIES WEBVIEWDEFS_H_TEMPLATE_FILE)
|
||||
configure_file(
|
||||
"${WEBVIEWDEFS_H_TEMPLATE_FILE}"
|
||||
"${WEBVIEW_HEADER_DIR}/webviewdefs.h" # simply add this to source to ease inclusion
|
||||
NEWLINE_STYLE UNIX # since this goes to sources ensure consistency
|
||||
)
|
||||
find_template_file("webviewincludes.h" QT_UTILITIES WEBVIEWINCLUDES_H_TEMPLATE_FILE)
|
||||
configure_file(
|
||||
"${WEBVIEWINCLUDES_H_TEMPLATE_FILE}"
|
||||
"${WEBVIEW_HEADER_DIR}/webviewincludes.h" # simply add this to source to ease inclusion
|
||||
NEWLINE_STYLE UNIX # since this goes to sources ensure consistency
|
||||
)
|
||||
list(APPEND WIDGETS_FILES
|
||||
"${WEBVIEW_HEADER_DIR}/webviewdefs.h"
|
||||
"${WEBVIEW_HEADER_DIR}/webviewincludes.h"
|
||||
)
|
||||
endif()
|
||||
list(APPEND META_PRIVATE_COMPILE_DEFINITIONS ${WEBVIEW_DEFINITION})
|
||||
|
||||
list(APPEND META_PUBLIC_COMPILE_DEFINITIONS ${WEBVIEW_DEFINITION})
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
// Created via CMake from template webviewdefs.h.in
|
||||
// WARNING! Any changes to this file will be overwritten by the next CMake run!
|
||||
|
||||
#ifndef @META_PROJECT_VARNAME_UPPER@_WEB_VIEW_DEFINES
|
||||
#define @META_PROJECT_VARNAME_UPPER@_WEB_VIEW_DEFINES
|
||||
|
||||
#include <QtGlobal>
|
||||
|
||||
#if defined(@META_PROJECT_VARNAME_UPPER@_USE_WEBENGINE)
|
||||
# define @META_PROJECT_VARNAME_UPPER@_WEB_VIEW QWebEngineView
|
||||
# define @META_PROJECT_VARNAME_UPPER@_WEB_PAGE QWebEnginePage
|
||||
#elif defined(@META_PROJECT_VARNAME_UPPER@_USE_WEBKIT)
|
||||
# define @META_PROJECT_VARNAME_UPPER@_WEB_VIEW QWebView
|
||||
# define @META_PROJECT_VARNAME_UPPER@_WEB_PAGE QWebPage
|
||||
# define @META_PROJECT_VARNAME_UPPER@_WEB_FRAME QWebFrame
|
||||
#endif
|
||||
|
||||
#ifdef @META_PROJECT_VARNAME_UPPER@_WEB_VIEW
|
||||
QT_FORWARD_DECLARE_CLASS(@META_PROJECT_VARNAME_UPPER@_WEB_VIEW)
|
||||
#endif
|
||||
#ifdef @META_PROJECT_VARNAME_UPPER@_WEB_PAGE
|
||||
QT_FORWARD_DECLARE_CLASS(@META_PROJECT_VARNAME_UPPER@_WEB_PAGE)
|
||||
#endif
|
||||
#ifdef @META_PROJECT_VARNAME_UPPER@_WEB_FRAME
|
||||
QT_FORWARD_DECLARE_CLASS(@META_PROJECT_VARNAME_UPPER@_WEB_FRAME)
|
||||
#endif
|
||||
|
||||
#endif // @META_PROJECT_VARNAME_UPPER@_WEB_VIEW_DEFINES
|
|
@ -0,0 +1,18 @@
|
|||
// Created via CMake from template webviewincludes.h.in
|
||||
// WARNING! Any changes to this file will be overwritten by the next CMake run!
|
||||
|
||||
#ifndef @META_PROJECT_VARNAME_UPPER@_WEB_VIEW_INCLUDES
|
||||
#define @META_PROJECT_VARNAME_UPPER@_WEB_VIEW_INCLUDES
|
||||
|
||||
#include <QtGlobal>
|
||||
|
||||
#if defined(@META_PROJECT_VARNAME_UPPER@_USE_WEBENGINE)
|
||||
# include <QWebEngineView>
|
||||
# include <QWebEnginePage>
|
||||
#elif defined(@META_PROJECT_VARNAME_UPPER@_USE_WEBKIT)
|
||||
# include <QWebView>
|
||||
# include <QWebPage>
|
||||
# include <QWebFrame>
|
||||
#endif
|
||||
|
||||
#endif // @META_PROJECT_VARNAME_UPPER@_WEB_VIEW_INCLUDES
|
Loading…
Reference in New Issue