CMake: Update webview related checks

This commit is contained in:
Maarten Bent 2023-12-19 21:42:14 +01:00
parent 3453d8c97d
commit 62c6533fa7
No known key found for this signature in database
GPG key ID: 58AAEE3F4A4FD070
3 changed files with 30 additions and 16 deletions

View file

@ -226,9 +226,9 @@ if(wxUSE_MEDIACTRL AND DEFINED wxUSE_ACTIVEX AND NOT wxUSE_ACTIVEX)
wx_option_force_value(wxUSE_MEDIACTRL OFF)
endif()
if(wxUSE_WEBVIEW AND DEFINED wxUSE_ACTIVEX AND NOT wxUSE_ACTIVEX)
message(WARNING "wxWebView requires wxActiveXContainer... disabled")
wx_option_force_value(wxUSE_WEBVIEW OFF)
if(wxUSE_WEBVIEW AND wxUSE_WEBVIEW_IE AND DEFINED wxUSE_ACTIVEX AND NOT wxUSE_ACTIVEX)
message(WARNING "wxWebViewIE requires wxActiveXContainer... disabled")
wx_option_force_value(wxUSE_WEBVIEW_IE OFF)
endif()
if(wxUSE_OPENGL)
@ -467,21 +467,29 @@ if(wxUSE_GUI)
set(wxUSE_WEBVIEW_WEBKIT ON)
elseif(WEBKIT2_FOUND AND LIBSOUP_FOUND)
set(wxUSE_WEBVIEW_WEBKIT2 ON)
else()
message(WARNING "webkit not found or enabled, wxWebview won't be available")
elseif(NOT wxUSE_WEBVIEW_CHROMIUM)
message(WARNING "webkit or chromium not found or enabled, wxWebview won't be available")
wx_option_force_value(wxUSE_WEBVIEW OFF)
endif()
elseif(WXMSW)
if(NOT wxUSE_WEBVIEW_IE AND NOT wxUSE_WEBVIEW_EDGE)
message(WARNING "WebviewIE and WebviewEdge not found or enabled, wxWebview won't be available")
if(NOT wxUSE_WEBVIEW_IE AND NOT wxUSE_WEBVIEW_EDGE AND NOT wxUSE_WEBVIEW_CHROMIUM)
message(WARNING "WebviewIE and WebviewEdge and WebviewChromium not found or enabled, wxWebview won't be available")
wx_option_force_value(wxUSE_WEBVIEW OFF)
endif()
elseif(APPLE)
if(NOT wxUSE_WEBVIEW_WEBKIT)
message(WARNING "webkit not found or enabled, wxWebview won't be available")
if(NOT wxUSE_WEBVIEW_WEBKIT AND NOT wxUSE_WEBVIEW_CHROMIUM)
message(WARNING "webkit and chromium not found or enabled, wxWebview won't be available")
wx_option_force_value(wxUSE_WEBVIEW OFF)
endif()
endif()
if(wxUSE_WEBVIEW_CHROMIUM AND WIN32 AND NOT MSVC)
message(WARNING "WebviewChromium libcef_dll_wrapper can only be built with MSVC... disabled")
wx_option_force_value(wxUSE_WEBVIEW_CHROMIUM OFF)
endif()
if(wxUSE_WEBVIEW_CHROMIUM AND CMAKE_CXX_STANDARD LESS 17)
message(WARNING "WebviewChromium requires at least c++17")
endif()
endif()
if(wxUSE_PRIVATE_FONTS AND WXGTK)

View file

@ -29,8 +29,14 @@ endforeach()
# add_opt_lib()
# Add library which may have been disabled by wxUSE_...
macro(add_opt_lib name var_name)
if(${var_name})
macro(add_opt_lib name)
set(add_lib ON)
foreach(var_name ${ARGN})
if(NOT ${var_name})
set(add_lib OFF)
endif()
endforeach()
if(add_lib)
list(APPEND LIBS ${name})
endif()
endmacro()
@ -58,7 +64,7 @@ if(wxUSE_GUI)
add_opt_lib(media wxUSE_MEDIACTRL)
add_opt_lib(gl wxUSE_OPENGL)
add_opt_lib(qa wxUSE_DEBUGREPORT)
add_opt_lib(webview_chromium wxUSE_WEBVIEW_CHROMIUM)
add_opt_lib(webview_chromium wxUSE_WEBVIEW wxUSE_WEBVIEW_CHROMIUM)
endif() # wxUSE_GUI
# Include XML library last

View file

@ -339,12 +339,12 @@
# define wxUSE_MEDIACTRL 0
# endif
# endif
# if wxUSE_WEBVIEW
# if wxUSE_WEBVIEW && wxUSE_WEBVIEW_IE
# ifdef wxABORT_ON_CONFIG_ERROR
# error "wxWebView requires wxActiveXContainer under MSW"
# error "wxWebViewIE requires wxActiveXContainer under MSW"
# else
# undef wxUSE_WEBVIEW
# define wxUSE_WEBVIEW 0
# undef wxUSE_WEBVIEW_IE
# define wxUSE_WEBVIEW_IE 0
# endif
# endif
#endif /* !wxUSE_ACTIVEX */