[vlc-commits] [Git][videolan/vlc][master] 7 commits: package/win32: do not rebuild when installing with meson
Steve Lhomme (@robUx4)
gitlab at videolan.org
Fri Oct 2 14:25:07 UTC 2026
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
08b43eb5 by Steve Lhomme at 2026-10-02T13:32:59+00:00
package/win32: do not rebuild when installing with meson
- - - - -
91b8ebaa by Steve Lhomme at 2026-10-02T13:32:59+00:00
package/win32: always pass a path to wix binaries
They are always available from the command line or from the contribs.
- - - - -
fdde4a77 by Steve Lhomme at 2026-10-02T13:32:59+00:00
package/win32: do not keep .dll.a files in MSI generator
meson installs those.
- - - - -
d0314947 by Steve Lhomme at 2026-10-02T13:32:59+00:00
package/win32: generate a .msi installer with meson
- - - - -
bfdeb29c by Steve Lhomme at 2026-10-02T13:32:59+00:00
package/win32: allow setting the path to installed files for MSI build
meson does not allow changing to a parent the directory when generating
files so we need to set the installed paths in the wxs files.
- - - - -
6950fecf by Steve Lhomme at 2026-10-02T13:32:59+00:00
package/win32 : add the MSI builder as custom meson/ninja targets
So we can easily can it via meson/ninja once it's installed.
This needs to be executed after "meson install".
- - - - -
53a1f8b7 by Steve Lhomme at 2026-10-02T13:32:59+00:00
meson: do not reference plugins.dat if cross-compiling with an exe wrapper
meson will issue an error otherwise.
Generating the plugins.dat is not mandatory, especially when cross-compiling.
Also it should probably be handled (additionally) with add_install_script() [^1].
[^1]: https://mesonbuild.com/Reference-manual_builtin_meson.html#mesonadd_install_script
- - - - -
10 changed files:
- bin/meson.build
- configure.ac
- extras/package/win32/build.sh
- extras/package/win32/meson.build
- extras/package/win32/msi.mak
- extras/package/win32/msi/config.wxi.in
- + extras/package/win32/msi/meson.build
- extras/package/win32/msi/msi-heat.py
- extras/package/win32/msi/product.wxs
- meson_options.txt
Changes:
=====================================
bin/meson.build
=====================================
@@ -71,6 +71,7 @@ if build_vlc and (host_system != 'darwin' or have_osx) and not have_win_store an
install_dir: pkglibexecdir_path,
)
+ if not meson.is_cross_build() or find_program('exe_wrapper', required: false).found()
plugins_dat = custom_target('plugins.dat',
# `vlc_cache_gen_dep.full_path()` doesn't work since the executable is not built yet.
# `vlc_cache_gen_dep` creates a build order dependency.
@@ -80,6 +81,7 @@ if build_vlc and (host_system != 'darwin' or have_osx) and not have_win_store an
depends: vlc_plugins_targets_array,
build_by_default: not meson.is_cross_build(),
)
+ endif
vlc_preparser_sources = [
'preparser/main.c',
=====================================
configure.ac
=====================================
@@ -5307,6 +5307,9 @@ AM_COND_IF([KDE_SOLID], [
])
AM_COND_IF([HAVE_WIN32], [
+ PREFIX_PATH="vlc-${VERSION}/"
+ AC_SUBST([PREFIX_PATH])
+
AC_CONFIG_FILES([
extras/package/win32/NSIS/spad.nsi
extras/package/win32/NSIS/vlc.win32.nsi
=====================================
extras/package/win32/build.sh
=====================================
@@ -70,7 +70,7 @@ do
INSTALLER=$OPTARG
;;
W)
- WIXPATH=--with-wix="$OPTARG"
+ WIXPATH="$OPTARG"
;;
s)
INTERACTIVE="yes"
@@ -203,14 +203,21 @@ make -j$JOBS
# avoid installing wine on WSL
# wine is needed to build Qt with shaders or running vlc-cache-gen
-if test -z "$(command -v wine)"
-then
- if test -n "$(command -v wsl.exe)"
- then
+if test -z "$(command -v wine)"; then
+ if test -n "$(command -v wsl.exe)"; then
echo "Using wsl.exe to replace wine"
echo "#!/bin/sh" > build/bin/wine
echo "\"\$@\"" >> build/bin/wine
chmod +x build/bin/wine
+ WIN32_PATH_CMD=wslpath
+ else
+ WIN32_PATH_CMD=cygpath
+ fi
+else
+ if test -n "$(command -v wsl.exe)"; then
+ WIN32_PATH_CMD=wslpath
+ else
+ WIN32_PATH_CMD=winepath
fi
fi
HOST="$(cc -dumpmachine)"
@@ -562,6 +569,9 @@ if [ "$INSTALLER" = "n" ]; then
MCOMPILEFLAGS="$MCOMPILEFLAGS --verbose"
fi
+if [ -z "$WIXPATH" ]; then
+ WIXPATH="$( pwd -P )/contrib/$CONTRIB_PREFIX/bin"
+fi
if [ -n "$BUILD_MESON" ]; then
# disable alarm() calls in tests. The timeout is handled by meson
@@ -582,9 +592,6 @@ if [ -n "$BUILD_MESON" ]; then
BUILD_PATH="$( pwd -P )"
- # we don't want to install in <destdir>/usr/local, just <destdir>
- MCONFIGFLAGS="$MCONFIGFLAGS --prefix=/"
-
# generate the crossfile.meson
test -e $SHORTARCH-meson/crossfile.meson && unlink $SHORTARCH-meson/crossfile.meson
exec 3>$SHORTARCH-meson/crossfile.meson || return $?
@@ -614,6 +621,15 @@ if [ -n "$BUILD_MESON" ]; then
if [ -x "$(command -v ${CONTRIB_PREFIX}-luac)" ]; then
printf 'luac = '"'"'%s'"'"'\n' "$(command -v ${CONTRIB_PREFIX}-luac)" >&3
fi
+ if [ -n "$WIN32_PATH_CMD" ]; then
+ printf 'cygpath = '"'"'%s'"'"'\n' "$(command -v ${WIN32_PATH_CMD})" >&3
+ fi
+ if [ -e "${WIXPATH}/candle.exe" ]; then
+ printf 'candle.exe = '"'"'%s'"'"'\n' "${WIXPATH}/candle.exe" >&3
+ fi
+ if [ -e "${WIXPATH}/light.exe" ]; then
+ printf 'light.exe = '"'"'%s'"'"'\n' "${WIXPATH}/light.exe" >&3
+ fi
printf '\n[host_machine]\n' >&3
printf 'system = '"'"'windows'"'"'\n' >&3
@@ -621,6 +637,14 @@ if [ -n "$BUILD_MESON" ]; then
printf 'endian = '"'"'little'"'"'\n' >&3
printf 'cpu = '"'"'%s'"'"'\n' "${ARCH}" >&3
+ if [ -n "$INSTALL_PATH" ]; then
+ MDESTDIR="$INSTALL_PATH"
+ else
+ MDESTDIR="${BUILD_PATH}/$SHORTARCH-meson/vlc-$SHORTARCH"
+ fi
+ # we don't want to install in <destdir>/usr/local, just <destdir>
+ MCONFIGFLAGS="$MCONFIGFLAGS --prefix=$MDESTDIR"
+
info "Configuring VLC"
cd ${VLC_ROOT_PATH}
@@ -634,12 +658,7 @@ if [ -n "$BUILD_MESON" ]; then
info "Compiling"
meson compile -j $JOBS -C ${BUILD_PATH}/$SHORTARCH-meson ${MCOMPILEFLAGS}
- if [ -n "$INSTALL_PATH" ]; then
- MDESTDIR="$INSTALL_PATH"
- else
- MDESTDIR="${BUILD_PATH}/$SHORTARCH-meson/vlc-$SHORTARCH"
- fi
- MINSTALLFLAGS="--destdir=$MDESTDIR --strip $MINSTALLFLAGS"
+ MINSTALLFLAGS="--strip --no-rebuild $MINSTALLFLAGS"
if [ "$INSTALLER" = "n" ]; then
VLC_GIT_TAG="$(git describe --tags --long --match '?.*.*' --always)"
@@ -648,6 +667,8 @@ if [ -n "$BUILD_MESON" ]; then
if [ -z "$WINSTORE" ]; then
# generate .exe installer
ninja -C ${BUILD_PATH}/$SHORTARCH-meson package-win32-exe
+ # generate .msi installer
+ ninja -C ${BUILD_PATH}/$SHORTARCH-meson package-msi
fi
rm -rf ${BUILD_PATH}/$SHORTARCH-meson/vlc-$SHORTARCH-$VLC_GIT_TAG-debug.7z
@@ -659,12 +680,16 @@ if [ -n "$BUILD_MESON" ]; then
if [ -z "$WINSTORE" ]; then
# generate .exe installer
ninja -C ${BUILD_PATH}/$SHORTARCH-meson package-win32-exe
+ # generate .msi installer
+ ninja -C ${BUILD_PATH}/$SHORTARCH-meson package-msi
fi
elif [ "$INSTALLER" = "u" ]; then
meson install -C ${BUILD_PATH}/$SHORTARCH-meson ${MINSTALLFLAGS}
if [ -z "$WINSTORE" ]; then
# generate .exe installer
ninja -C ${BUILD_PATH}/$SHORTARCH-meson package-win32-exe
+ # generate .msi installer
+ ninja -C ${BUILD_PATH}/$SHORTARCH-meson package-msi
fi
fi
else
@@ -702,7 +727,7 @@ else
fi
info "Configuring VLC"
- ${SCRIPT_PATH}/configure.sh --host=$TRIPLET --with-contrib=../contrib/$CONTRIB_PREFIX "$WIXPATH" $CONFIGFLAGS LTCFLAGS=-O0
+ ${SCRIPT_PATH}/configure.sh --host=$TRIPLET --with-contrib=../contrib/$CONTRIB_PREFIX --with-wix="$WIXPATH" $CONFIGFLAGS LTCFLAGS=-O0
info "Compiling"
make -j$JOBS ${COMPILEFLAGS}
=====================================
extras/package/win32/meson.build
=====================================
@@ -27,3 +27,8 @@ if get_option('nsis').disable_auto_if(
host_system != 'windows' or have_win_store).allowed()
subdir('NSIS')
endif
+
+if get_option('wix').disable_auto_if(
+ host_system != 'windows' or have_win_store).allowed()
+ subdir('msi')
+endif
=====================================
extras/package/win32/msi.mak
=====================================
@@ -11,6 +11,7 @@ MSIDIR=$(abs_srcdir)/extras/package/win32/msi
W_MSIDIR=`$(WIN32_PATH_CMD) -w '$(MSIDIR)'`
MSIBUILDDIR=$(abs_top_builddir)/extras/package/win32/msi
W_MSIBUILDDIR=`$(WIN32_PATH_CMD) -w '$(MSIBUILDDIR)'`
+W_TOPBUILDDIR=`$(WIN32_PATH_CMD) -w '$(abs_top_builddir)'`
if HAVE_ARM64
MSIOUTFILE=vlc-$(VERSION)-winarm64.msi
else
@@ -34,10 +35,10 @@ if BUILD_SKINS
endif
candle: heat
- $(am__cd) $(MSIBUILDDIR) && $(CANDLE) -arch $(WINDOWS_ARCH) -ext WiXUtilExtension $(W_MSIDIR)/product.wxs $(W_MSIDIR)/extensions.wxs $(W_MSIBUILDDIR)/*.fragment.wxs
+ $(am__cd) $(MSIBUILDDIR) && $(CANDLE) -arch $(WINDOWS_ARCH) -I$(W_TOPBUILDDIR) -ext WiXUtilExtension $(W_MSIDIR)/product.wxs $(W_MSIDIR)/extensions.wxs $(W_MSIBUILDDIR)/*.fragment.wxs
$(MSIOUTFILE): candle
- $(AM_V_GEN)cd vlc- at VERSION@ && $(LIGHT) -sval -spdb -ext WixUIExtension -ext WixUtilExtension -cultures:en-us -b $(W_MSIDIR) $(W_MSIBUILDDIR)/product.wixobj $(W_MSIBUILDDIR)/extensions.wixobj $(W_MSIBUILDDIR)/*.fragment.wixobj -o ../$@
+ $(AM_V_GEN)$(LIGHT) -sval -spdb -ext WixUIExtension -ext WixUtilExtension -cultures:en-us $(W_MSIBUILDDIR)/product.wixobj $(W_MSIBUILDDIR)/extensions.wixobj $(W_MSIBUILDDIR)/*.fragment.wixobj -o $@
chmod 644 $@
package-msi: $(MSIOUTFILE)
=====================================
extras/package/win32/msi/config.wxi.in
=====================================
@@ -14,6 +14,8 @@
<?define Version = "$(var.VerMajor).$(var.VerMinor).$(var.VerPatch)" ?>
<?define VersionLong = "$(var.Version).$(var.VerExtra)" ?>
+ <?define VlcInstallPrefix = "@PREFIX_PATH@" ?>
+
<?if "@HAVE_NLS_TRUE@" = "" ?>
<?define HaveLocale = "yes" ?>
<?else ?>
=====================================
extras/package/win32/msi/meson.build
=====================================
@@ -0,0 +1,117 @@
+# MSI packaging
+
+fs = import('fs')
+
+if have_win64
+ if host_machine.cpu_family() == 'aarch64'
+ WIX_WINDOWS_ARCH = 'arm64'
+ else
+ WIX_WINDOWS_ARCH = 'x64'
+ endif
+else
+ if host_machine.cpu_family() == 'arm'
+ WIX_WINDOWS_ARCH = 'arm'
+ else
+ WIX_WINDOWS_ARCH = 'x86'
+ endif
+endif
+
+msi_required = get_option('wix').allowed() and not get_option('wix').auto()
+
+python3 = find_program('python3', required: msi_required)
+cygpath = find_program('cygpath', required: msi_required)
+x86_runner = find_program('wine', required: msi_required)
+candlex86 = find_program('candle.exe', required: msi_required)
+lightx86 = find_program('light.exe', required: msi_required)
+
+W_MSIDIR = run_command(cygpath, '-w', meson.current_source_dir(), check: true).stdout().strip()
+W_MSIBUILDDIR = run_command(cygpath, '-w', meson.current_build_dir(), check: true).stdout().strip()
+W_TOPBUILDDIR = run_command(cygpath, '-w', vlc_build_root, check: true).stdout().strip()
+W_PREFIX = run_command(cygpath, '-w', prefix_path / '', check: true).stdout().strip()
+
+wix_conf = cdata
+wix_conf.set('BUILD_LUA_TRUE', lua_dep.found() and get_option('lua').allowed() ? '' : '#')
+wix_conf.set('BUILD_SKINS_TRUE', skins2_feasible ? '' : '#')
+wix_conf.set('HAVE_NLS_TRUE', wix_conf.get('ENABLE_NLS', 0) == 1 ? '' : '#')
+wix_conf.set('WINDOWS_ARCH', WIX_WINDOWS_ARCH)
+wix_conf.set('PREFIX_PATH', W_PREFIX)
+
+vlc_wix = configure_file(
+ input: 'config.wxi.in',
+ output: 'config.wxi',
+ configuration: wix_conf,
+ install: true,
+ install_dir: '.',
+)
+
+heat_dirs = ['Plugins']
+if wix_conf.get('ENABLE_NLS', 0) == 1
+ heat_dirs += 'Locale'
+endif
+if lua_dep.found() and get_option('lua').allowed()
+ heat_dirs += 'Lua'
+endif
+if skins2_feasible
+ heat_dirs += 'Skins'
+endif
+
+wxs_files = [
+ [ files('product.wxs'), W_MSIDIR ],
+ [ files('extensions.wxs'), W_MSIDIR ],
+]
+foreach heat : heat_dirs
+ dirname = heat.to_lower()
+ groupname = 'Comp' + heat + 'Group'
+ wxsname = heat + '.fragment.wxs'
+
+ wxs = custom_target(
+ command: [python3, files('msi-heat.py'), '--dir', prefix_path / dirname, '-cg', groupname,
+ '-gg', '-scom', '-sreg', '-sfrag', '-dr', 'APPLICATIONFOLDER',
+ '-out', '@OUTPUT@'
+ ],
+ output: wxsname,
+ depend_files: [files('msi-heat.py')],
+ build_always_stale: true, # always rescan since we can't depend on a folder
+ build_by_default: false,
+ console: true,
+ )
+ wxs_files += [ [ wxs, W_MSIBUILDDIR ] ]
+endforeach
+
+compiled_wxs = []
+compiled_winpath = []
+foreach wxsobj : wxs_files
+ outfile = fs.replace_suffix(wxsobj[0], '.wixobj')
+ outname = fs.name(outfile)
+ out_winpath = run_command(cygpath, '-w', outfile, check: true).stdout().strip()
+
+ wixobj = custom_target(
+ command: [x86_runner, candlex86.full_path(), '-nologo',
+ '-out', out_winpath, '-arch', WIX_WINDOWS_ARCH, '-I' + W_TOPBUILDDIR, '-ext', 'WiXUtilExtension',
+ wxsobj[1] + '\\' + '@PLAINNAME@'
+ ],
+ output: outname,
+ input: wxsobj[0],
+ depend_files: [vlc_wix],
+ build_always_stale: true,
+ build_by_default: false,
+ console: true,
+ )
+ compiled_wxs += wixobj
+ compiled_winpath += out_winpath
+endforeach
+
+msi_name = 'vlc-' + vlc_version + '-' + winstaller_suffix + '.msi'
+msi_output = custom_target(
+ command: [x86_runner, lightx86, '-nologo',
+ '-sval', '-spdb', '-ext', 'WixUIExtension', '-ext', 'WixUtilExtension', '-cultures:en-us',
+ '-out', msi_name, compiled_winpath
+ ],
+ input: compiled_wxs,
+ output: msi_name, # real name but root build folder
+ build_always_stale: true,
+ build_by_default: false,
+ console: true,
+)
+
+alias_target('package-msi', msi_output)
=====================================
extras/package/win32/msi/msi-heat.py
=====================================
@@ -41,6 +41,7 @@ def generate_id(prefix='', file=''):
return prefix + pbHash.upper()
args.out.write('<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n')
+args.out.write('<?include extras/package/win32/msi/config.wxi?>\r\n')
args.out.write('<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">\r\n')
args.out.write(' <Fragment>\r\n')
args.out.write(' <DirectoryRef Id="{}">\r\n'.format(args.directory_reference))
@@ -63,12 +64,12 @@ def outputDir(top, parent: str, dir: str):
for file in cwd.iterdir():
if not file.is_dir():
# args.out.write(' file <{}>\r\n'.format(file))
- if not file.name.endswith('.pdb'):
+ if not file.name.endswith('.pdb') and not file.name.endswith('.dll.a'):
outname = os.path.join(top.name, str(file.relative_to(top)))
fileId = generate_id('cmp', outname)
args.out.write(' <Component Id="{}" Guid="*">\r\n'.format(fileId))
fileIdList.append(fileId)
- args.out.write(' <File Id="{}" Name="{}" KeyPath="yes" Source="{}"/>\r\n'.format(generate_id('fil', outname), file.name, outname))
+ args.out.write(' <File Id="{}" Name="{}" KeyPath="yes" Source="$(var.VlcInstallPrefix){}"/>\r\n'.format(generate_id('fil', outname), file.name, outname))
args.out.write(' </Component>\r\n')
# then sub directories
for file in cwd.iterdir():
=====================================
extras/package/win32/msi/product.wxs
=====================================
@@ -20,7 +20,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
-->
-<?include $(sys.CURRENTDIR)/config.wxi?>
+<?include extras/package/win32/msi/config.wxi?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product
@@ -48,7 +48,7 @@
<RegistrySearch Id="NSISLOCATION" Type="raw" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player" Name="UninstallString" />
</Property>
- <Icon Id="vlc.ico" SourceFile="$(var.SourceDir)/vlc.ico"/>
+ <Icon Id="vlc.ico" SourceFile="$(var.VlcInstallPrefix)vlc.ico"/>
<!-- The about link that appears in Add & Remove Programs. -->
<Property Id="ARPURLINFOABOUT" Value="$(var.AboutURL)" />
@@ -67,8 +67,8 @@
</Property>
<WixVariable Id="WixUISupportPerUser" Value="1" />
- <WixVariable Id="WixUILicenseRtf" Value="LICENSE.rtf" />
- <WixVariable Id="WixUIBannerBmp" Value="bannrbmp.bmp" />
+ <WixVariable Id="WixUILicenseRtf" Value="$(sys.SOURCEFILEDIR)/LICENSE.rtf" />
+ <WixVariable Id="WixUIBannerBmp" Value="$(sys.SOURCEFILEDIR)/bannrbmp.bmp" />
<Media Id='1' Cabinet='product.cab' EmbedCab='yes' CompressionLevel="high" />
@@ -95,7 +95,7 @@
</Component>
<Component Id='CompVLC' Guid='$(var.CompVLCexe)' Win64="$(var.Win64)">
- <File Id='vlc.exe' Name='vlc.exe' KeyPath='yes' Vital='yes' DiskId='1' />
+ <File Id='vlc.exe' Name='vlc.exe' KeyPath='yes' Vital='yes' DiskId='1' Source="$(var.VlcInstallPrefix)vlc.exe"/>
<Shortcut Id="DesktopShortcut"
Directory="DesktopFolder"
@@ -122,31 +122,31 @@
</Component>
<Component Id='CompTXT' Guid='7fbd228c-87d8-4e91-85b3-aa65e03c9f1e' Win64="$(var.Win64)">
- <File Id='AUTHORS.txt' Name='AUTHORS.txt' DiskId='1' />
- <File Id='COPYING.txt' Name='COPYING.txt' DiskId='1' />
- <File Id='NEWS.txt' Name='NEWS.txt' DiskId='1' />
- <File Id='README.txt' Name='README.txt' DiskId='1' />
- <File Id='THANKS.txt' Name='THANKS.txt' DiskId='1' />
+ <File Id='AUTHORS.txt' Name='AUTHORS.txt' DiskId='1' Source="$(var.VlcInstallPrefix)AUTHORS.txt"/>
+ <File Id='COPYING.txt' Name='COPYING.txt' DiskId='1' Source="$(var.VlcInstallPrefix)COPYING.txt"/>
+ <File Id='NEWS.txt' Name='NEWS.txt' DiskId='1' Source="$(var.VlcInstallPrefix)NEWS.txt"/>
+ <File Id='README.txt' Name='README.txt' DiskId='1' Source="$(var.VlcInstallPrefix)README.txt"/>
+ <File Id='THANKS.txt' Name='THANKS.txt' DiskId='1' Source="$(var.VlcInstallPrefix)THANKS.txt"/>
</Component>
<Component Id='CompLibvlccore' Guid='efa826fd-0037-4ccd-9573-604fde3b9efa' Win64="$(var.Win64)">
- <File Id='libvlccore.dll' Name='libvlccore.dll' KeyPath='yes' Vital='yes' DiskId='1' />
+ <File Id='libvlccore.dll' Name='libvlccore.dll' KeyPath='yes' Vital='yes' DiskId='1' Source="$(var.VlcInstallPrefix)libvlccore.dll"/>
</Component>
<Component Id='CompLibvlc' Guid='50d7e1e1-4512-4020-9f7b-5dc8484574f3' Win64="$(var.Win64)">
- <File Id='libvlc.dll' Name='libvlc.dll' KeyPath='yes' Vital='yes' DiskId='1' />
+ <File Id='libvlc.dll' Name='libvlc.dll' KeyPath='yes' Vital='yes' DiskId='1' Source="$(var.VlcInstallPrefix)libvlc.dll"/>
</Component>
<Component Id='CompCacheGen' Guid='e1b4a499-e223-4c18-9de0-258f12b8dcfa' Win64="$(var.Win64)">
- <File Id='vlc_cache_gen.exe' Name='vlc-cache-gen.exe' KeyPath='yes' DiskId='1' />
+ <File Id='vlc_cache_gen.exe' Name='vlc-cache-gen.exe' KeyPath='yes' DiskId='1' Source="$(var.VlcInstallPrefix)vlc-cache-gen.exe"/>
</Component>
<Component Id='CompPreparserExe' Guid='83ff6660-bf97-4c6e-a6eb-123df8ec9cb1' Win64="$(var.Win64)">
- <File Id='vlc_preparser.exe' Name='vlc-preparser.exe' KeyPath='yes' DiskId='1' />
+ <File Id='vlc_preparser.exe' Name='vlc-preparser.exe' KeyPath='yes' DiskId='1' Source="$(var.VlcInstallPrefix)vlc-preparser.exe"/>
</Component>
<Component Id='CompIcon' Guid='8707410c-55fe-4c38-924e-438762b8b82e' Win64="$(var.Win64)">
- <File Id='vlc.ico' Name='vlc.ico' KeyPath='yes' DiskId='1' />
+ <File Id='vlc.ico' Name='vlc.ico' KeyPath='yes' DiskId='1' Source="$(var.VlcInstallPrefix)vlc.ico"/>
</Component>
<Directory Id='PLUGINSDIR' Name='plugins'>
=====================================
meson_options.txt
=====================================
@@ -828,7 +828,12 @@ option('v4l2',
option('nsis',
type: 'feature',
value: 'auto',
- description: 'Generate NSIS files to create Windows installer')
+ description: 'Generate NSIS files to create Windows EXE installer')
+
+option('wix',
+ type: 'feature',
+ value: 'auto',
+ description: 'Generate WIX files to create Windows MSI installer')
# TODO: Missing rpi-omxil
# TODO: Missing gst-decode
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ab236c42c360ea2a89ea20d25464bfe45423ce32...53a1f8b7e7cb8adc75c85445e74c095c01c6b590
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ab236c42c360ea2a89ea20d25464bfe45423ce32...53a1f8b7e7cb8adc75c85445e74c095c01c6b590
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help
More information about the vlc-commits
mailing list