[webview] Make optional based on presence of dependencies

This commit is contained in:
Adriaan de Groot 2019-04-30 13:12:16 +02:00
parent fe32322705
commit 2620829515

View File

@ -1,17 +1,16 @@
list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES set( CALA_WEBVIEW_INCLUDE_DIRECTORIES ${PROJECT_BINARY_DIR}/src/libcalamaresui )
${PROJECT_BINARY_DIR}/src/libcalamaresui set( CALA_WEBVIEW_LINK_LIBRARIES calamaresui )
)
list( APPEND CALA_WEBVIEW_LINK_LIBRARIES
calamaresui
)
option( WEBVIEW_FORCE_WEBKIT "Always build webview with WebKit instead of WebEngine regardless of Qt version." OFF) option( WEBVIEW_FORCE_WEBKIT "Always build webview with WebKit instead of WebEngine regardless of Qt version." OFF)
set( _reason "" )
message( STATUS "Found Qt version ${Qt5Core_VERSION}") message( STATUS "Found Qt version ${Qt5Core_VERSION}")
if ( Qt5Core_VERSION VERSION_LESS 5.6 OR WEBVIEW_FORCE_WEBKIT ) if ( Qt5Core_VERSION VERSION_LESS 5.6 OR WEBVIEW_FORCE_WEBKIT )
message( STATUS " .. using webkit") message( STATUS " .. using webkit")
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED WebKit WebKitWidgets ) find_package( Qt5 ${QT_VERSION} CONFIG COMPONENTS WebKit WebKitWidgets )
if ( Qt5WebKit_FOUND AND Qt5WebKitWidgets_FOUND )
list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES
${QT_QTWEBKIT_INCLUDE_DIR} ${QT_QTWEBKIT_INCLUDE_DIR}
) )
@ -20,10 +19,14 @@ if ( Qt5Core_VERSION VERSION_LESS 5.6 OR WEBVIEW_FORCE_WEBKIT )
Qt5::WebKitWidgets Qt5::WebKitWidgets
) )
set( WEBVIEW_WITH_WEBKIT 1 ) set( WEBVIEW_WITH_WEBKIT 1 )
else()
set( _reason "No suitable WebKit" )
endif()
else() else()
message( STATUS " .. using webengine") message( STATUS " .. using webengine")
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED WebEngine WebEngineWidgets ) find_package( Qt5 ${QT_VERSION} CONFIG COMPONENTS WebEngine WebEngineWidgets )
if ( Qt5WebEngine_FOUND AND Qt5WebEngineWidgets_FOUND )
list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES
${QT_QTWEBENGINE_INCLUDE_DIR} ${QT_QTWEBENGINE_INCLUDE_DIR}
) )
@ -32,13 +35,14 @@ else()
Qt5::WebEngineWidgets Qt5::WebEngineWidgets
) )
set( WEBVIEW_WITH_WEBENGINE 1 ) set( WEBVIEW_WITH_WEBENGINE 1 )
else()
set( _reason "No suitable WebEngine" )
endif()
endif() endif()
if ( NOT _reason )
include_directories( ${CALA_WEBVIEW_INCLUDE_DIRECTORIES} ) include_directories( ${CALA_WEBVIEW_INCLUDE_DIRECTORIES} )
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules )
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/WebViewConfig.h.in configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/WebViewConfig.h.in
${CMAKE_CURRENT_BINARY_DIR}/WebViewConfig.h ) ${CMAKE_CURRENT_BINARY_DIR}/WebViewConfig.h )
@ -51,3 +55,6 @@ calamares_add_plugin( webview
${CALA_WEBVIEW_LINK_LIBRARIES} ${CALA_WEBVIEW_LINK_LIBRARIES}
SHARED_LIB SHARED_LIB
) )
else()
calamares_skip_module( "webview (${_reason})" )
endif()