Link CEF files into webview sample build directory under Unix

Ensure that the sample can run using wxWebViewChromium backend out of
the box by setting things up so that it can find the CEF files. Note
that we use symlinks instead of actually copying these files, to avoid
wasting so much disk space (CEF libraries take more than 1GiB).
This commit is contained in:
Vadim Zeitlin
2023-09-14 19:24:18 +02:00
parent ae8619b6dd
commit b5e278c0eb
4 changed files with 33 additions and 1 deletions

File diff suppressed because one or more lines are too long

6
configure vendored
View File

@@ -755,6 +755,7 @@ COND_PLATFORM_WIN32_1
COND_PLATFORM_WIN32_0_TOOLKIT_GTK_TOOLKIT_VERSION_4 COND_PLATFORM_WIN32_0_TOOLKIT_GTK_TOOLKIT_VERSION_4
COND_PLATFORM_WIN32_0_TOOLKIT_GTK_TOOLKIT_VERSION_3 COND_PLATFORM_WIN32_0_TOOLKIT_GTK_TOOLKIT_VERSION_3
COND_PLATFORM_WIN32_0 COND_PLATFORM_WIN32_0
COND_PLATFORM_UNIX_1_USE_WEBVIEW_CHROMIUM_1
COND_PLATFORM_UNIX_1_USE_PLUGINS_0 COND_PLATFORM_UNIX_1_USE_PLUGINS_0
COND_PLATFORM_UNIX_1_USE_GUI_1 COND_PLATFORM_UNIX_1_USE_GUI_1
COND_PLATFORM_UNIX_1_TOOLKIT_QT_USE_GUI_1_WXUNIV_0 COND_PLATFORM_UNIX_1_TOOLKIT_QT_USE_GUI_1_WXUNIV_0
@@ -42820,6 +42821,11 @@ EOF
COND_PLATFORM_UNIX_1_USE_PLUGINS_0="" COND_PLATFORM_UNIX_1_USE_PLUGINS_0=""
fi fi
COND_PLATFORM_UNIX_1_USE_WEBVIEW_CHROMIUM_1="#"
if test "x$PLATFORM_UNIX" = "x1" -a "x$USE_WEBVIEW_CHROMIUM" = "x1" ; then
COND_PLATFORM_UNIX_1_USE_WEBVIEW_CHROMIUM_1=""
fi
COND_PLATFORM_WIN32_0="#" COND_PLATFORM_WIN32_0="#"
if test "x$PLATFORM_WIN32" = "x0" ; then if test "x$PLATFORM_WIN32" = "x0" ; then
COND_PLATFORM_WIN32_0="" COND_PLATFORM_WIN32_0=""

View File

@@ -123,6 +123,8 @@ COND_MONOLITHIC_0___WXLIB_BASE_p = \
@COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p) @COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p)
@COND_PLATFORM_MACOSX_1_USE_WEBVIEW_CHROMIUM_1@__package___depname \ @COND_PLATFORM_MACOSX_1_USE_WEBVIEW_CHROMIUM_1@__package___depname \
@COND_PLATFORM_MACOSX_1_USE_WEBVIEW_CHROMIUM_1@ = package @COND_PLATFORM_MACOSX_1_USE_WEBVIEW_CHROMIUM_1@ = package
@COND_PLATFORM_UNIX_1_USE_WEBVIEW_CHROMIUM_1@__copy_cef_files___depname \
@COND_PLATFORM_UNIX_1_USE_WEBVIEW_CHROMIUM_1@ = copy_cef_files
COND_MONOLITHIC_1___WXLIB_MONO_p = \ COND_MONOLITHIC_1___WXLIB_MONO_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX) -lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_1@__WXLIB_MONO_p = $(COND_MONOLITHIC_1___WXLIB_MONO_p) @COND_MONOLITHIC_1@__WXLIB_MONO_p = $(COND_MONOLITHIC_1___WXLIB_MONO_p)
@@ -155,7 +157,7 @@ COND_MONOLITHIC_1___WXLIB_MONO_p = \
### Targets: ### ### Targets: ###
all: webview$(EXEEXT) $(__webview_bundle___depname) $(__package___depname) data $(__webview_helper___depname) $(__fix_cef_link___depname) all: webview$(EXEEXT) $(__webview_bundle___depname) $(__package___depname) $(__copy_cef_files___depname) data $(__webview_helper___depname) $(__fix_cef_link___depname)
install: install:
@@ -223,6 +225,9 @@ webview$(EXEEXT): $(WEBVIEW_OBJECTS) $(__webview___win32rc)
@COND_PLATFORM_MACOSX_1_USE_WEBVIEW_CHROMIUM_1@ cp -Rf webview_helper.app/Contents/Resources "$$helper_contents"; \ @COND_PLATFORM_MACOSX_1_USE_WEBVIEW_CHROMIUM_1@ cp -Rf webview_helper.app/Contents/Resources "$$helper_contents"; \
@COND_PLATFORM_MACOSX_1_USE_WEBVIEW_CHROMIUM_1@ done @COND_PLATFORM_MACOSX_1_USE_WEBVIEW_CHROMIUM_1@ done
@COND_PLATFORM_UNIX_1_USE_WEBVIEW_CHROMIUM_1@copy_cef_files: webview$(EXEEXT)
@COND_PLATFORM_UNIX_1_USE_WEBVIEW_CHROMIUM_1@ @for f in $(top_srcdir)//3rdparty/cef/Release/* $(top_srcdir)//3rdparty/cef/Resources/*; do [ -e $$f ] || ln -s $$f .; done
data: data:
@mkdir -p . @mkdir -p .
@for f in handler_advanced.html; do \ @for f in handler_advanced.html; do \

View File

@@ -45,6 +45,21 @@
done done
</command> </command>
</add-target> </add-target>
<!--
Under Unix we don't need to build a separate helper, but we still
need to copy (or link, so save some space, as these files are huge)
all the required files to the sample directory.
-->
<add-target target="copy_cef_files" type="action"
cond="FORMAT=='autoconf' and PLATFORM_UNIX=='1' and USE_WEBVIEW_CHROMIUM=='1'">
<depends>webview</depends>
<dependency-of>all</dependency-of>
<command>
@for f in $(CEF_DIR)/Release/* $(CEF_DIR)/Resources/*; do [ -e $$f ] || ln -s $$f .; done
</command>
</add-target>
</exe> </exe>
<wx-data id="data"> <wx-data id="data">