Don't require WebView/JS provider if none explicitely specified

This commit is contained in:
Martchus 2016-07-09 23:52:43 +02:00
parent 20e663cbcc
commit d94f4e7dd8
2 changed files with 19 additions and 11 deletions

View File

@ -8,10 +8,14 @@ if(${JS_PROVIDER} STREQUAL "auto")
set(JS_DEFINITION "-D${META_PROJECT_VARNAME_UPPER}_USE_SCRIPT")
message(STATUS "No JavaScript provider explicitly specified, defaulting to Qt Script.")
else()
find_package(Qt5Qml REQUIRED)
set(JS_PROVIDER Qt5::Qml)
set(JS_DEFINITION "-D${META_PROJECT_VARNAME_UPPER}_USE_JSENGINE")
message(STATUS "No JavaScript provider explicitly specified, defaulting to Qt QML.")
find_package(Qt5Qml)
if(Qt5Qml_FOUND)
set(JS_PROVIDER Qt5::Qml)
set(JS_DEFINITION "-D${META_PROJECT_VARNAME_UPPER}_USE_JSENGINE")
message(STATUS "No JavaScript provider explicitly specified, defaulting to Qt QML.")
else()
message(STATUS "No JavaScript provider available, features requiring JavaScript have been disabled.")
endif()
endif()
else()
if(${JS_PROVIDER} STREQUAL "script")

View File

@ -8,26 +8,30 @@ if(${WEBVIEW_PROVIDER} STREQUAL "auto")
set(WEBVIEW_DEFINITION "-D${META_PROJECT_VARNAME_UPPER}_USE_WEBKIT")
message(STATUS "No web view provider explicitly specified, defaulting to Qt WebKit.")
else()
find_package(Qt5WebEngineWidgets REQUIRED)
set(WEBVIEW_PROVIDER Qt5::WebEngineWidgets)
set(WEBVIEW_DEFINITION "-D${META_PROJECT_VARNAME_UPPER}_USE_WEBENGINE")
message(STATUS "No web view provider explicitly specified, defaulting to Qt WebEngine.")
find_package(Qt5WebEngineWidgets)
if(Qt5WebEngineWidgets_FOUND)
set(WEBVIEW_PROVIDER Qt5::WebEngineWidgets)
set(WEBVIEW_DEFINITION "-D${META_PROJECT_VARNAME_UPPER}_USE_WEBENGINE")
message(STATUS "No web view provider explicitly specified, defaulting to Qt WebEngine.")
else()
message(STATUS "No web view provider available, web view has been disabled.")
endif()
endif()
else()
if(${WEBVIEW_PROVIDER} STREQUAL "webkit")
find_package(Qt5WebKitWidgets REQUIRED)
set(WEBVIEW_PROVIDER Qt5::WebKitWidgets)
set(WEBVIEW_DEFINITION "-D${META_PROJECT_VARNAME_UPPER}_USE_WEBKIT")
message(STATUS "Using Qt WebKit as webview provider.")
message(STATUS "Using Qt WebKit as web view provider.")
elseif(${WEBVIEW_PROVIDER} STREQUAL "webengine")
find_package(Qt5WebEngineWidgets REQUIRED)
set(WEBVIEW_PROVIDER Qt5::WebEngineWidgets)
set(WEBVIEW_DEFINITION "-D${META_PROJECT_VARNAME_UPPER}_USE_WEBENGINE")
message(STATUS "Using Qt WebEngine as webview provider.")
message(STATUS "Using Qt WebEngine as web view provider.")
elseif(${WEBVIEW_PROVIDER} STREQUAL "none")
set(WEBVIEW_DEFINITION "-D${META_PROJECT_VARNAME_UPPER}_NO_WEBVIEW")
set(WEBVIEW_PROVIDER "")
message(STATUS "Webview has been disabled.")
message(STATUS "Web view has been disabled.")
else()
message(FATAL_ERROR "The specified web view provider '${WEBVIEW_PROVIDER}' is unknown.")
endif()