2022-11-14 13:40:53 +00:00
|
|
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
|
|
|
|
|
|
|
|
# Download gstreamer and all its subprojects
|
2023-03-06 11:16:30 +00:00
|
|
|
git clone -b $env:DEFAULT_GST_BRANCH --depth 1 https://gitlab.freedesktop.org/gstreamer/gstreamer.git C:\gstreamer
|
2022-11-14 13:40:53 +00:00
|
|
|
if (!$?) {
|
|
|
|
Write-Host "Failed to clone gstreamer"
|
|
|
|
Exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Set-Location C:\gstreamer
|
|
|
|
|
|
|
|
# Copy the cache we already have in the image to avoid massive redownloads
|
|
|
|
Move-Item C:/subprojects/* C:\gstreamer\subprojects
|
|
|
|
|
|
|
|
if (!$?) {
|
|
|
|
Write-Host "Failed to copy subprojects cache"
|
|
|
|
Exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
# Update the subprojects cache
|
|
|
|
Write-Output "Running meson subproject reset"
|
|
|
|
meson subprojects update --reset
|
|
|
|
|
|
|
|
if (!$?) {
|
|
|
|
Write-Host "Failed to reset subprojects state"
|
|
|
|
Exit 1
|
|
|
|
}
|
|
|
|
|
2023-12-22 10:40:59 +00:00
|
|
|
$env:MESON_ARGS = "--prefix=C:\gst-install\ -Dbuildtype=release " +
|
2022-11-14 13:40:53 +00:00
|
|
|
"-Dglib:installed_tests=false " +
|
|
|
|
"-Dlibnice:tests=disabled " +
|
|
|
|
"-Dlibnice:examples=disabled " +
|
|
|
|
"-Dffmpeg:tests=disabled " +
|
|
|
|
"-Dopenh264:tests=disabled " +
|
|
|
|
"-Dpygobject:tests=false " +
|
|
|
|
"-Dugly=enabled " +
|
|
|
|
"-Dbad=enabled " +
|
|
|
|
"-Dges=enabled " +
|
|
|
|
"-Drtsp_server=enabled " +
|
|
|
|
"-Ddevtools=enabled " +
|
|
|
|
"-Dsharp=disabled " +
|
|
|
|
"-Dpython=disabled " +
|
|
|
|
"-Dlibav=disabled " +
|
|
|
|
"-Dvaapi=disabled " +
|
|
|
|
"-Dgst-plugins-base:pango=enabled " +
|
|
|
|
"-Dgst-plugins-good:cairo=enabled " +
|
|
|
|
"-Dgpl=enabled "
|
|
|
|
|
|
|
|
Write-Output "Building gst"
|
|
|
|
cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 && meson _build $env:MESON_ARGS && meson compile -C _build && ninja -C _build install"
|
|
|
|
|
|
|
|
if (!$?) {
|
|
|
|
Write-Host "Failed to build and install gst"
|
|
|
|
Exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
cd C:\
|
|
|
|
cmd /c rmdir /s /q C:\gstreamer
|
|
|
|
if (!$?) {
|
|
|
|
Write-Host "Failed to remove gst checkout"
|
|
|
|
Exit 1
|
|
|
|
}
|