mirror of
https://github.com/strawberrymusicplayer/strawberry
synced 2025-02-03 02:47:36 +01:00
Add MSVC builder to CI
This commit is contained in:
parent
b6f5a5712b
commit
9c2c668a04
534
.github/workflows/ccpp.yml
vendored
534
.github/workflows/ccpp.yml
vendored
@ -1473,6 +1473,516 @@ jobs:
|
||||
working-directory: build
|
||||
run: makensis strawberry.nsi
|
||||
|
||||
build-windows-msvc:
|
||||
name: Build Windows MSVC
|
||||
runs-on: windows-2019
|
||||
steps:
|
||||
|
||||
- uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: x86_64
|
||||
toolset: 14.29
|
||||
|
||||
- uses: actions/checkout@v1.2.0
|
||||
|
||||
- name: Download Boost
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "Boost [this](https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.zip)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download Qt Base
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "Qt Base [this](https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_623/qt.qt6.623.win64_msvc2019_64/6.2.3-0-202201260729qtbase-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download Qt Tools
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "Qt Tools [this](https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_623/qt.qt6.623.win64_msvc2019_64/6.2.3-0-202201260729qttools-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download Qt OpenSSL
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "Qt OpenSSL [this](https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/tools_openssl_x64/qt.tools.openssl.win_x64/1.1.1-10openssl_1.1.1j_prebuild_x64.7z)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download SQLite
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "SQLite [this](https://sqlite.org/2022/sqlite-autoconf-3370200.tar.gz)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download glib-networking
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "glib-networking [this](https://download.gnome.org/sources/glib-networking/2.62/glib-networking-2.62.4.tar.xz)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download GStreamer
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "GStreamer [this](https://gstreamer.freedesktop.org/data/pkg/windows/1.20.0/msvc/gstreamer-1.0-msvc-x86_64-1.20.0.msi)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download GStreamer Devel
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "GStreamer Devel [this](https://gstreamer.freedesktop.org/data/pkg/windows/1.20.0/msvc/gstreamer-1.0-devel-msvc-x86_64-1.20.0.msi)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download GnuTLS
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "GnutTLS [this](https://github.com/ShiftMediaProject/gnutls/releases/download/3.7.2/libgnutls_3.7.2_msvc14.zip)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download GnuTLS PC File
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "GnutTLS PC File [this](https://files.strawberrymusicplayer.org/gnutls.pc)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download TagLib
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "TagLib [this](https://taglib.org/releases/taglib-1.12.tar.gz)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download FFTW
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "FFTW [this](https://fftw.org/pub/fftw/fftw-3.3.5-dll64.zip)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download Chromaprint
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "Chromaprint [this](https://github.com/acoustid/chromaprint/releases/download/v1.5.1/chromaprint-1.5.1.tar.gz)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Download Protobuf
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "Protobuf [this](https://files.strawberrymusicplayer.org/protobuf-3.19.4-msvc.zip)!"
|
||||
# url: "Protobuf [this](https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protobuf-cpp-3.19.4.zip)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Create sources directory
|
||||
run: mkdir sources
|
||||
|
||||
- name: Download qtsparkle
|
||||
shell: bash
|
||||
working-directory: sources
|
||||
run: git clone https://github.com/davidsansome/qtsparkle qtsparkle-git
|
||||
|
||||
- name: Download qtsparkle pc file
|
||||
shell: bash
|
||||
working-directory: sources/qtsparkle-git
|
||||
run: curl -O -L https://files.strawberrymusicplayer.org/qtsparkle-qt6.pc
|
||||
|
||||
- name: Download LockedList plugin for NSIS
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
with:
|
||||
url: "LockedList [this](https://nsis.sourceforge.io/mediawiki/images/d/d3/LockedList.zip)!"
|
||||
target: downloads/
|
||||
auto-match: true
|
||||
|
||||
- name: Extract NSIS LockedList plugin
|
||||
run: 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/LockedList.zip"
|
||||
|
||||
- name: Copy NSIS LockedList plugin
|
||||
run: |
|
||||
copy "${{github.workspace}}/NSIS_Plugins/Plugins/LockedList64.dll" "C:/Program Files (x86)/NSIS/Plugins/"
|
||||
copy "${{github.workspace}}/NSIS_Plugins/Plugins/x86-unicode/LockedList.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/"
|
||||
|
||||
- name: Grant Full Access to c:\windows\temp directory
|
||||
run: icacls "C:\Windows\Temp" /q /c /t /grant Users:F /T
|
||||
|
||||
- name: Install GStreamer
|
||||
working-directory: downloads
|
||||
run: msiexec /a gstreamer-1.0-msvc-x86_64-1.20.0.msi /passive /qn
|
||||
|
||||
- name: Wait for GStreamer installation to complete
|
||||
run: Start-Sleep -s 20
|
||||
shell: powershell
|
||||
|
||||
- name: Install GStreamer Devel
|
||||
working-directory: downloads
|
||||
run: msiexec /a gstreamer-1.0-devel-msvc-x86_64-1.20.0.msi /passive /qn
|
||||
|
||||
- name: Wait for GStreamer Devel installation to complete
|
||||
run: Start-Sleep -s 30
|
||||
shell: powershell
|
||||
|
||||
- name: Extract Boost
|
||||
working-directory: sources
|
||||
run: 7z x ..\downloads\boost_1_78_0.zip
|
||||
|
||||
- name: Copy Boost
|
||||
shell: bash
|
||||
working-directory: sources
|
||||
run: cp -r boost_1_78_0/boost /c/gstreamer/1.0/msvc_x86_64/include/
|
||||
|
||||
- name: Extract Qt
|
||||
working-directory: C:\
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir qt
|
||||
cd qt
|
||||
7z x "${{github.workspace}}/downloads/6.2.3-0-202201260729qtbase-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z"
|
||||
7z x "${{github.workspace}}/downloads/6.2.3-0-202201260729qttools-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z"
|
||||
7z x "${{github.workspace}}/downloads/1.1.1-10openssl_1.1.1j_prebuild_x64.7z"
|
||||
|
||||
- name: Extract GnuTLS
|
||||
run: |
|
||||
mkdir gnutls
|
||||
cd gnutls
|
||||
7z x "${{github.workspace}}/downloads/libgnutls_3.7.2_msvc14.zip"
|
||||
xcopy /s /y bin\x64\*.* c:\gstreamer\1.0\msvc_x86_64\bin\
|
||||
xcopy /s /y lib\x64\*.* c:\gstreamer\1.0\msvc_x86_64\lib\
|
||||
xcopy /s /y include\* c:\gstreamer\1.0\msvc_x86_64\include\
|
||||
xcopy /s /y include\* c:\gstreamer\1.0\msvc_x86_64\include\
|
||||
copy "${{github.workspace}}/downloads/gnutls.pc" c:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig\
|
||||
|
||||
- name: Extract TagLib
|
||||
working-directory: sources
|
||||
shell: bash
|
||||
run: tar -xvf ../downloads/taglib-1.12.tar.gz
|
||||
|
||||
- name: Extract Chromaprint
|
||||
working-directory: sources
|
||||
shell: bash
|
||||
run: tar -xvf ../downloads/chromaprint-1.5.1.tar.gz
|
||||
|
||||
- name: Extract glib-networking
|
||||
working-directory: sources
|
||||
shell: bash
|
||||
run: tar -xvf ../downloads/glib-networking-2.62.4.tar.xz
|
||||
|
||||
- name: Extract FFTW
|
||||
run: |
|
||||
mkdir fftw
|
||||
cd fftw
|
||||
7z x "${{github.workspace}}/downloads/fftw-3.3.5-dll64.zip"
|
||||
lib /def:libfftw3-3.def
|
||||
lib /def:libfftw3f-3.def
|
||||
lib /def:libfftw3l-3.def
|
||||
xcopy /s /y *.dll c:\gstreamer\1.0\msvc_x86_64\bin\
|
||||
xcopy /s /y *.lib c:\gstreamer\1.0\msvc_x86_64\lib\
|
||||
xcopy /s /y *.h c:\gstreamer\1.0\msvc_x86_64\include\
|
||||
|
||||
#- name: Compile Protobuf
|
||||
# env:
|
||||
# CL: "/MP"
|
||||
# working-directory: sources/protobuf-3.19.4
|
||||
# run: |
|
||||
# cd cmake
|
||||
# mkdir build
|
||||
# cd build
|
||||
# cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/protobuf" -Dprotobuf_BUILD_TESTS=OFF
|
||||
# nmake
|
||||
# cmake --install .
|
||||
# copy ..\cmake\build\protobuf.pc c:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig\
|
||||
|
||||
- name: Extract Protobuf
|
||||
run: |
|
||||
7z x downloads\protobuf-3.19.4-msvc.zip
|
||||
xcopy /s /y protobuf-3.19.4-msvc\bin\*.dll c:\gstreamer\1.0\msvc_x86_64\bin\
|
||||
xcopy /s /y protobuf-3.19.4-msvc\bin\*.exe c:\gstreamer\1.0\msvc_x86_64\bin\
|
||||
xcopy /s /y protobuf-3.19.4-msvc\lib\*.lib c:\gstreamer\1.0\msvc_x86_64\lib\
|
||||
xcopy /s /y protobuf-3.19.4-msvc\lib\pkgconfig\*.pc c:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig\
|
||||
xcopy /s /y protobuf-3.19.4-msvc\include\*.* c:\gstreamer\1.0\msvc_x86_64\include\
|
||||
|
||||
- name: Extract SQLite
|
||||
working-directory: sources
|
||||
shell: bash
|
||||
run: tar -xvf ../downloads/sqlite-autoconf-3370200.tar.gz
|
||||
|
||||
- name: Compile SQlite
|
||||
env:
|
||||
CL: "/MP"
|
||||
working-directory: sources/sqlite-autoconf-3370200
|
||||
run: cl shell.c sqlite3.c -Fe:sqlite3.exe
|
||||
#cl -DSQLITE_API="__declspec(dllexport)" sqlite3.c -link -dll -out:sqlite3.dll
|
||||
|
||||
# - name: Copy SQLite
|
||||
# working-directory: sources/sqlite-autoconf-3370200
|
||||
# run: |
|
||||
# copy *.h c:\gstreamer\1.0\msvc_x86_64\include\
|
||||
# copy *.lib c:\gstreamer\1.0\msvc_x86_64\lib\
|
||||
# copy *.dll c:\gstreamer\1.0\msvc_x86_64\bin\
|
||||
# copy *.def c:\gstreamer\1.0\msvc_x86_64\lib\
|
||||
# copy *.def c:\gstreamer\1.0\msvc_x86_64\bin\
|
||||
|
||||
- name: Compile TagLib
|
||||
env:
|
||||
CL: "/MP"
|
||||
working-directory: sources/taglib-1.12
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="c:\gstreamer\1.0\msvc_x86_64" -DBUILD_SHARED_LIBS=ON
|
||||
nmake
|
||||
cmake --install .
|
||||
|
||||
- name: Compile Chromaprint
|
||||
env:
|
||||
CL: "/MP"
|
||||
working-directory: sources/chromaprint-1.5.1
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DFFMPEG_ROOT=C:\gstreamer\1.0\msvc_x86_64 -DCMAKE_INSTALL_PREFIX=C:\gstreamer\1.0\msvc_x86_64
|
||||
nmake
|
||||
cmake --install .
|
||||
|
||||
- name: Update PATH
|
||||
run: echo "c:\gstreamer\1.0\msvc_x86_64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
|
||||
- name: Compile glib-networking
|
||||
env:
|
||||
CL: "/MP"
|
||||
working-directory: sources/glib-networking-2.62.4
|
||||
run: |
|
||||
echo "c:\gstreamer\1.0\msvc_x86_64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
pip3 install meson
|
||||
meson -Dgnutls=enabled -Dpkg_config_path=c:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig build
|
||||
cd build
|
||||
ninja
|
||||
|
||||
- name: Compile qtsparkle
|
||||
env:
|
||||
CL: "/MP"
|
||||
working-directory: sources/qtsparkle-git
|
||||
run: |
|
||||
copy qtsparkle-qt6.pc c:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig\
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_QT6=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_PREFIX_PATH=c:\qt\6.2.3\msvc2019_64\lib\cmake -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/qtsparkle"
|
||||
nmake
|
||||
cmake --install .
|
||||
cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_QT6=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_PREFIX_PATH=c:\qt\6.2.3\msvc2019_64\lib\cmake -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/qtsparkle"
|
||||
nmake
|
||||
cmake --install .
|
||||
|
||||
- name: Remove find_package(Boost)
|
||||
shell: bash
|
||||
run: sed -i 's/find_package(Boost.*//g' CMakeLists.txt
|
||||
|
||||
- name: Create Build Environment
|
||||
run: cmake -E make_directory build
|
||||
|
||||
- name: Run CMake
|
||||
working-directory: build
|
||||
run: >
|
||||
cmake ..
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DCMAKE_PREFIX_PATH=c:\qt\6.2.3\msvc2019_64\lib\cmake
|
||||
-DBUILD_WITH_QT6=ON
|
||||
-DBUILD_WERROR=OFF
|
||||
-DARCH=x86_64
|
||||
-DENABLE_WIN32_CONSOLE=OFF
|
||||
-DENABLE_DBUS=OFF
|
||||
-DENABLE_LIBGPOD=OFF
|
||||
-DENABLE_LIBMTP=OFF
|
||||
-DUSE_TAGLIB=ON
|
||||
-DPKG_CONFIG_EXECUTABLE=C:/gstreamer/1.0/msvc_x86_64/bin/pkg-config.exe
|
||||
-DGNUTLS_LIBRARY=c:/gstreamer/1.0/msvc_x86_64/lib/gnutls.lib
|
||||
-DGNUTLS_INCLUDE_DIR=c:/gstreamer/1.0/msvc_x86_64/include
|
||||
-DGNUTLS_INCLUDE_DIRS=c:/gstreamer/1.0/msvc_x86_64/include
|
||||
-DBoost_INCLUDE_DIR=c:/gstreamer/1.0/msvc_x86_64/include
|
||||
-DBoost_INCLUDE_DIRS=c:/gstreamer/1.0/msvc_x86_64/include
|
||||
-DProtobuf_LIBRARY=c:/gstreamer/1.0/msvc_x86_64/lib/libprotobuf.lib
|
||||
-DProtobuf_INCLUDE_DIR=c:/gstreamer/1.0/msvc_x86_64/include
|
||||
-DProtobuf_INCLUDE_DIRS=c:/gstreamer/1.0/msvc_x86_64/include
|
||||
-DPROTOBUF_PROTOC_EXECUTABLE=c:/gstreamer/1.0/msvc_x86_64/bin/protoc.exe
|
||||
-DSQLITE_INCLUDE_DIRS=c:/gstreamer/1.0/msvc_x86_64/include
|
||||
-DSQLITE_LIBRARY_DIRS=c:/gstreamer/1.0/msvc_x86_64/lib
|
||||
-DFFTW3_DIR=c:\gstreamer\1.0\msvc_x86_64
|
||||
-DQTSPARKLE_INCLUDE_DIRS="${{github.workspace}}/qtsparkle/include"
|
||||
|
||||
- name: Copy qtsparkle header
|
||||
working-directory: build
|
||||
run: xcopy /s /y "${{github.workspace}}\qtsparkle\include"
|
||||
|
||||
- name: Run Make
|
||||
env:
|
||||
CL: "/MP"
|
||||
working-directory: build
|
||||
run: cmake --build . --config Release --parallel $(nproc)
|
||||
|
||||
- name: list files
|
||||
working-directory: build
|
||||
run: dir
|
||||
|
||||
- name: Copy executables
|
||||
working-directory: build
|
||||
run: copy release\*.exe .
|
||||
|
||||
- name: Copy extra binaries
|
||||
working-directory: build
|
||||
run: |
|
||||
copy c:\qt\tools\openssl\win_x64\bin\libssl-1_1-x64.dll
|
||||
copy c:\qt\tools\openssl\win_x64\bin\libcrypto-1_1-x64.dll
|
||||
copy "${{github.workspace}}/sources/sqlite-autoconf-3370200/sqlite3.exe"
|
||||
copy c:\gstreamer\1.0\msvc_x86_64\bin\soup-2.4-1.dll
|
||||
copy c:\gstreamer\1.0\msvc_x86_64\bin\gst-launch-1.0.exe
|
||||
copy c:\gstreamer\1.0\msvc_x86_64\bin\gst-discoverer-1.0.exe
|
||||
|
||||
- name: Create directories
|
||||
working-directory: build
|
||||
run: |
|
||||
mkdir gio-modules
|
||||
mkdir platforms
|
||||
mkdir styles
|
||||
mkdir tls
|
||||
mkdir sqldrivers
|
||||
mkdir imageformats
|
||||
mkdir gstreamer-plugins
|
||||
mkdir nsisplugins
|
||||
|
||||
- name: Copy GIO modules
|
||||
working-directory: build
|
||||
run: copy "${{github.workspace}}/sources/glib-networking-2.62.4/build/tls/gnutls/giognutls.dll" ./gio-modules/
|
||||
|
||||
- name: Copy Qt platform plugins
|
||||
working-directory: build
|
||||
run: copy C:\Qt\6.2.3\msvc2019_64\plugins\platforms\qwindows.dll .\platforms\
|
||||
|
||||
- name: Copy Qt styles
|
||||
working-directory: build
|
||||
run: copy C:\Qt\6.2.3\msvc2019_64\plugins\styles\qwindowsvistastyle.dll .\styles\
|
||||
|
||||
- name: Copy Qt TLS plugins
|
||||
working-directory: build
|
||||
run: copy C:\Qt\6.2.3\msvc2019_64\plugins\tls\*.dll .\tls\
|
||||
|
||||
- name: Copy Qt SQL drivers
|
||||
working-directory: build
|
||||
run: copy C:\Qt\6.2.3\msvc2019_64\plugins\sqldrivers\qsqlite.dll .\sqldrivers\
|
||||
|
||||
- name: Copy Qt imageformats plugins
|
||||
working-directory: build
|
||||
run: copy C:\Qt\6.2.3\msvc2019_64\plugins\imageformats\*.dll .\imageformats\
|
||||
|
||||
- name: Copy gstreamer plugins
|
||||
working-directory: build
|
||||
run: |
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstwasapi2.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\
|
||||
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstxingmux.dll .\gstreamer-plugins\
|
||||
|
||||
- name: Download copydlldeps.sh
|
||||
shell: bash
|
||||
working-directory: build
|
||||
run: curl -O -L https://raw.githubusercontent.com/strawberrymusicplayer/strawberry-mxe/master/tools/copydlldeps.sh
|
||||
|
||||
- name: Copy dependencies
|
||||
shell: bash
|
||||
working-directory: build
|
||||
run: >
|
||||
./copydlldeps.sh
|
||||
-c
|
||||
-d .
|
||||
-F .
|
||||
-F ./platforms
|
||||
-F ./styles
|
||||
-F ./tls
|
||||
-F ./sqldrivers
|
||||
-F ./imageformats
|
||||
-F ./gio-modules
|
||||
-F ./gstreamer-plugins
|
||||
-R /c/qt/6.2.3/msvc2019_64/bin
|
||||
-R /c/gstreamer/1.0/msvc_x86_64
|
||||
-R "${{github.workspace}}/qtsparkle/bin"
|
||||
|
||||
- name: Strip binaries
|
||||
shell: bash
|
||||
working-directory: build
|
||||
run: find . -type f \( -iname \*.dll -o -iname \*.exe \) -exec strip {} \;
|
||||
|
||||
- name: Copy nsis files
|
||||
working-directory: build
|
||||
run: |
|
||||
copy ..\dist\windows\*.nsi .
|
||||
copy ..\dist\windows\*.nsh .
|
||||
copy ..\dist\windows\*.ico .
|
||||
|
||||
- name: Copy COPYING license file
|
||||
working-directory: build
|
||||
run: copy ..\COPYING .
|
||||
|
||||
- name: list files
|
||||
working-directory: build
|
||||
run: dir
|
||||
|
||||
- name: Create nsis installer
|
||||
working-directory: build
|
||||
run: makensis strawberry.nsi
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: upload-windows
|
||||
path: build/StrawberrySetup*.exe
|
||||
|
||||
|
||||
upload-macos:
|
||||
name: Upload macOS DMG
|
||||
@ -1498,6 +2008,30 @@ jobs:
|
||||
done
|
||||
|
||||
|
||||
upload-windows:
|
||||
name: Upload Windows Setup
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/master'
|
||||
needs:
|
||||
- build-windows-msvc
|
||||
steps:
|
||||
- uses: actions/checkout@v1.2.0
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
path: uploads
|
||||
- name: Install SSH keys
|
||||
uses: shimataro/ssh-key-action@v2
|
||||
with:
|
||||
known_hosts: ${{ secrets.KNOWN_HOSTS2 }}
|
||||
key: ${{ secrets.SSH_KEY }}
|
||||
- name: rsync
|
||||
run: |
|
||||
set -x
|
||||
for i in $(find uploads -type f -name 'StrawberrySetup*.exe'); do
|
||||
rsync -e "ssh -p 50220 -o StrictHostKeyChecking=no" -va $i travis@echoes.jkvinge.net:/home/travis/builds/windows/
|
||||
done
|
||||
|
||||
|
||||
build-freebsd:
|
||||
name: Build FreeBSD
|
||||
runs-on: macos-10.15
|
||||
|
Loading…
x
Reference in New Issue
Block a user