[webview] Make optional based on presence of dependencies
This commit is contained in:
parent
fe32322705
commit
2620829515
@ -1,53 +1,60 @@
|
|||||||
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 )
|
||||||
|
|
||||||
list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES
|
if ( Qt5WebKit_FOUND AND Qt5WebKitWidgets_FOUND )
|
||||||
${QT_QTWEBKIT_INCLUDE_DIR}
|
list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES
|
||||||
)
|
${QT_QTWEBKIT_INCLUDE_DIR}
|
||||||
list( APPEND CALA_WEBVIEW_LINK_LIBRARIES
|
)
|
||||||
Qt5::WebKit
|
list( APPEND CALA_WEBVIEW_LINK_LIBRARIES
|
||||||
Qt5::WebKitWidgets
|
Qt5::WebKit
|
||||||
)
|
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 )
|
||||||
|
|
||||||
list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES
|
if ( Qt5WebEngine_FOUND AND Qt5WebEngineWidgets_FOUND )
|
||||||
${QT_QTWEBENGINE_INCLUDE_DIR}
|
list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES
|
||||||
)
|
${QT_QTWEBENGINE_INCLUDE_DIR}
|
||||||
list( APPEND CALA_WEBVIEW_LINK_LIBRARIES
|
)
|
||||||
Qt5::WebEngine
|
list( APPEND CALA_WEBVIEW_LINK_LIBRARIES
|
||||||
Qt5::WebEngineWidgets
|
Qt5::WebEngine
|
||||||
)
|
Qt5::WebEngineWidgets
|
||||||
set( WEBVIEW_WITH_WEBENGINE 1 )
|
)
|
||||||
|
set( WEBVIEW_WITH_WEBENGINE 1 )
|
||||||
|
else()
|
||||||
|
set( _reason "No suitable WebEngine" )
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories( ${CALA_WEBVIEW_INCLUDE_DIRECTORIES} )
|
if ( NOT _reason )
|
||||||
|
include_directories( ${CALA_WEBVIEW_INCLUDE_DIRECTORIES} )
|
||||||
|
|
||||||
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
|
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/WebViewConfig.h.in
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules )
|
${CMAKE_CURRENT_BINARY_DIR}/WebViewConfig.h )
|
||||||
|
|
||||||
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/WebViewConfig.h.in
|
calamares_add_plugin( webview
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/WebViewConfig.h )
|
TYPE viewmodule
|
||||||
|
EXPORT_MACRO PLUGINDLLEXPORT_PRO
|
||||||
calamares_add_plugin( webview
|
SOURCES
|
||||||
TYPE viewmodule
|
WebViewStep.cpp
|
||||||
EXPORT_MACRO PLUGINDLLEXPORT_PRO
|
LINK_PRIVATE_LIBRARIES
|
||||||
SOURCES
|
${CALA_WEBVIEW_LINK_LIBRARIES}
|
||||||
WebViewStep.cpp
|
SHARED_LIB
|
||||||
LINK_PRIVATE_LIBRARIES
|
)
|
||||||
${CALA_WEBVIEW_LINK_LIBRARIES}
|
else()
|
||||||
SHARED_LIB
|
calamares_skip_module( "webview (${_reason})" )
|
||||||
)
|
endif()
|
||||||
|
Loading…
Reference in New Issue
Block a user