diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake index 5ba4b6165b..a8e221ddd4 100644 --- a/build/cmake/init.cmake +++ b/build/cmake/init.cmake @@ -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) diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt index ae6d10a08f..bd234dc13c 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -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 diff --git a/include/wx/msw/chkconf.h b/include/wx/msw/chkconf.h index 8110a2e10d..326945386a 100644 --- a/include/wx/msw/chkconf.h +++ b/include/wx/msw/chkconf.h @@ -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 */