diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index e83854e7..16a3093b 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -1331,9 +1331,182 @@ jobs: run: dpkg-buildpackage -b -d -uc -us -nc -j2 + build-windows-mingw-x86: + name: Build Windows MinGW (x86) + runs-on: ubuntu-latest + container: + image: jonaski/strawberry-mxe-i686 + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 - build-windows-mingw: - name: Build Windows MinGW + - name: Add safe git directory + shell: bash + run: git config --global --add safe.directory /__w/strawberry/strawberry + + - name: Create Build Environment + shell: bash + run: cmake -E make_directory build + + - name: Link MXE directory + shell: bash + run: ln -s /usr/src/strawberry-mxe ~/mxe-shared + + - name: Run CMake + shell: bash + env: + PKG_CONFIG_PATH: /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/lib/pkgconfig + working-directory: build + run: > + cmake .. + -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-i686-w64-mingw32-shared.cmake + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_PREFIX_PATH=/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/qt6 + -DBUILD_WITH_QT6=ON + -DBUILD_WERROR=OFF + -DARCH=x86 + -DENABLE_WIN32_CONSOLE=OFF + -DENABLE_DBUS=OFF + -DENABLE_LIBGPOD=OFF + -DENABLE_LIBMTP=OFF + -DENABLE_AUDIOCD=OFF + -DProtobuf_PROTOC_EXECUTABLE=/usr/src/strawberry-mxe/usr/x86_64-pc-linux-gnu/bin/protoc + + - name: Run Make + working-directory: build + run: cmake --build . --config Release --parallel $(nproc) + + - name: Create directories + working-directory: build + run: mkdir -p gio-modules platforms sqldrivers tls imageformats styles gstreamer-plugins nsisplugins + + - name: Copy GIO modules + working-directory: build + run: cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/lib/gio/modules/{libgiognutls.dll,libgioopenssl.dll} ${GITHUB_WORKSPACE}/build/gio-modules/ + + - name: Copy Qt platform plugins + working-directory: build + run: cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/qt6/plugins/platforms/qwindows.dll ${GITHUB_WORKSPACE}/build/platforms/ + + - name: Copy Qt styles + working-directory: build + run: cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/qt6/plugins/styles/qwindowsvistastyle.dll ${GITHUB_WORKSPACE}/build/styles/ + + - name: Copy Qt TLS plugins + working-directory: build + run: cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/qt6/plugins/tls/{qschannelbackend.dll,qopensslbackend.dll} ${GITHUB_WORKSPACE}/build/tls/ + + - name: Copy Qt SQL drivers + working-directory: build + run: cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/qt6/plugins/sqldrivers/qsqlite.dll ${GITHUB_WORKSPACE}/build/sqldrivers/ + + - name: Copy Qt imageformats + working-directory: build + run: cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/qt6/plugins/imageformats/{qgif.dll,qico.dll,qjpeg.dll} ${GITHUB_WORKSPACE}/build/imageformats/ + + - name: Copy gstreamer plugins + working-directory: build + run: > + cp + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaes.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaiff.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstapetag.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstapp.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstasf.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstasfmux.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudioconvert.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiofx.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiomixer.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudioparsers.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiorate.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudioresample.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiotestsrc.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstautodetect.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstbs2b.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstcoreelements.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstdash.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstdirectsound.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstequalizer.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstfaac.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstfaad.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstfdkaac.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstflac.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstgio.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstgme.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsthls.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsticydemux.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstid3demux.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstid3tag.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstisomp4.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstlame.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstlibav.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstmpg123.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstmusepack.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstogg.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstopenmpt.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstopus.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstopusparse.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstpbtypes.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstplayback.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstreplaygain.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstrtp.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstrtsp.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstsoup.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstspectrum.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstspeex.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsttaglib.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsttcp.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsttwolame.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsttypefindfunctions.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstudp.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstvolume.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstvorbis.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstwasapi.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstwavenc.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstwavpack.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstwavparse.dll + /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstxingmux.dll + ${GITHUB_WORKSPACE}/build/gstreamer-plugins/ + + - name: Copy extra binaries + working-directory: build + run: cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/{sqlite3.exe,gst-launch-1.0.exe,gst-discoverer-1.0.exe,libsoup-3.0-0.dll,libnghttp2.dll} . + + - name: Copy dependencies + working-directory: build + run: > + /usr/src/strawberry-mxe/tools/copydlldeps.sh + -c + -d . + -F . + -F ./platforms + -F ./styles + -F ./imageformats + -F ./tls + -F ./sqldrivers + -F ./gstreamer-plugins + -R /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared + + - name: Strip binaries + working-directory: build + run: find . -type f \( -iname \*.dll -o -iname \*.exe \) -exec /usr/src/strawberry-mxe/usr/bin/i686-w64-mingw32.shared-strip {} \; + + - name: Copy nsis files + working-directory: build + run: cp ${GITHUB_WORKSPACE}/dist/windows/*.nsi ${GITHUB_WORKSPACE}/dist/windows/*.nsh ${GITHUB_WORKSPACE}/dist/windows/*.ico . + + - name: Copy COPYING license file + working-directory: build + run: cp ${GITHUB_WORKSPACE}/COPYING . + + - name: Build Windows installer + working-directory: build + run: makensis strawberry.nsi + + + build-windows-mingw-x64: + name: Build Windows MinGW (x86_64) runs-on: ubuntu-latest container: image: jonaski/strawberry-mxe-x86_64 @@ -1506,14 +1679,14 @@ jobs: run: makensis strawberry.nsi - build-windows-msvc-release: - name: Build Windows MSVC Release + build-windows-msvc-x86-debug: + name: Build Windows MSVC x86 Debug runs-on: windows-2019 steps: - uses: ilammy/msvc-dev-cmd@v1 with: - arch: x86_64 + arch: x86 toolset: 14.29 - uses: actions/checkout@v3 @@ -1529,7 +1702,7 @@ jobs: - name: Download Windows MSVC dependencies uses: suisei-cn/actions-download-file@v1 with: - url: "Windows MSVC dependencies [this](https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases/download/latest/strawberry-msvc-dependencies-release.tar.xz)!" + url: "Windows MSVC dependencies [this](https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases/download/latest/strawberry-msvc-x86-debug.tar.xz)!" target: downloads/ auto-match: true @@ -1574,275 +1747,11 @@ jobs: - name: Extract Windows MSVC dependencies shell: bash run: | - tar -xf /d/a/strawberry/strawberry/downloads/strawberry-msvc-dependencies-release.tar.xz - mv c/msvc_x86_64 /c/ + tar -xf /d/a/strawberry/strawberry//downloads/strawberry-msvc-x86-debug.tar.xz + mv strawberry_msvc_x86_debug /c/ - name: Update PATH - run: echo "c:\msvc_x86_64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - - - name: Add safe git directory - shell: bash - run: git config --global --add safe.directory /__w/strawberry/strawberry - - - 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:/msvc_x86_64/lib/cmake" - -DBUILD_WITH_QT6=ON - -DBUILD_WERROR=OFF - -DARCH=x86_64 - -DENABLE_WIN32_CONSOLE=OFF - -DUSE_TAGLIB=ON - -DPKG_CONFIG_EXECUTABLE="c:/msvc_x86_64/bin/pkg-config.exe" - -DICU_ROOT="c:\msvc_x86_64" - - - name: Run Make - env: - CL: "/MP" - working-directory: build - run: cmake --build . --config Release --parallel 4 - - - 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:\msvc_x86_64\bin\libssl-3-x64.dll - copy c:\msvc_x86_64\bin\libcrypto-3-x64.dll - copy c:\msvc_x86_64\bin\soup-2.4-1.dll - copy c:\msvc_x86_64\bin\gst-launch-1.0.exe - copy c:\msvc_x86_64\bin\gst-discoverer-1.0.exe - copy c:\msvc_x86_64\bin\sqlite3.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 c:\msvc_x86_64\lib\gio\modules\*.dll .\gio-modules\ - - - name: Copy Qt platform plugins - working-directory: build - run: copy c:\msvc_x86_64\plugins\platforms\qwindows.dll .\platforms\ - - - name: Copy Qt styles - working-directory: build - run: copy c:\msvc_x86_64\plugins\styles\qwindowsvistastyle.dll .\styles\ - - - name: Copy Qt TLS plugins - working-directory: build - run: copy c:\msvc_x86_64\plugins\tls\*.dll .\tls\ - - - name: Copy Qt SQL drivers - working-directory: build - run: copy c:\msvc_x86_64\plugins\sqldrivers\qsqlite.dll .\sqldrivers\ - - - name: Copy Qt imageformats plugins - working-directory: build - run: copy c:\msvc_x86_64\plugins\imageformats\*.dll .\imageformats\ - - - name: Copy gstreamer plugins - working-directory: build - run: | - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaes.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstbs2b.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstfaac.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstfaad.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstfdkaac.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstgme.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsthls.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstid3tag.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstmpg123.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstmusepack.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstopenmpt.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstpbtypes.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsttaglib.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsttwolame.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstwavenc.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\ - copy c:\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/msvc_x86_64/bin - - - 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@v3 - with: - name: upload-windows - path: build/StrawberrySetup*.exe - - - build-windows-msvc-debug: - name: Build Windows MSVC Debug - runs-on: windows-2019 - steps: - - - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: x86_64 - toolset: 14.29 - - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Delete conflicting files - shell: bash - run: | - rm -f /c/programdata/chocolatey/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cc1.exe,cc1plus.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,gdb.exe,gfortran.exe,ld.bfd.exe,ld.exe,ld.gold.exe,nm.exe,ranlib.exe,readelf.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.1.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe} - rm -f /c/strawberry/c/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,ld.exe,nm.exe,ranlib.exe,readelf.exe,widl.exe,windmc.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.3.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe} - - - name: Download Windows MSVC dependencies - uses: suisei-cn/actions-download-file@v1 - with: - url: "Windows MSVC dependencies [this](https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases/download/latest/strawberry-msvc-dependencies-debug.tar.xz)!" - target: downloads/ - auto-match: true - - - 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: Download Registry plugin for NSIS - uses: suisei-cn/actions-download-file@v1 - with: - url: "Registry [this](https://nsis.sourceforge.io/mediawiki/images/4/47/Registry.zip)!" - target: downloads/ - auto-match: true - - - name: Extract NSIS Registry plugin - run: 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Registry.zip" - - - name: Download Inetc plugin for NSIS - uses: suisei-cn/actions-download-file@v1 - with: - url: "Inetc [this](https://nsis.sourceforge.io/mediawiki/images/c/c9/Inetc.zip)!" - target: downloads/ - auto-match: true - - - name: Extract NSIS Inetc plugin - run: 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Inetc.zip" - - - name: Install NSIS plugins - 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/" - copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/" - copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/" - copy "${{github.workspace}}/NSIS_Plugins/Plugins/x86-unicode/INetC.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/" - - - name: Extract Windows MSVC dependencies - shell: bash - run: | - tar -xf /d/a/strawberry/strawberry//downloads/strawberry-msvc-dependencies-debug.tar.xz - mv c/msvc_x86_64 /c/ - - - name: Update PATH - run: echo "c:\msvc_x86_64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + run: echo "c:\strawberry_msvc_x86_debug\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - name: Add safe git directory shell: bash @@ -1855,15 +1764,16 @@ jobs: working-directory: build run: > cmake .. + -G "Ninja" -DCMAKE_BUILD_TYPE="Debug" - -DCMAKE_PREFIX_PATH="c:/msvc_x86_64/lib/cmake" + -DCMAKE_PREFIX_PATH="c:/strawberry_msvc_x86_debug/lib/cmake" -DBUILD_WITH_QT6=ON -DBUILD_WERROR=OFF - -DARCH=x86_64 + -DARCH=x86 -DENABLE_WIN32_CONSOLE=ON -DUSE_TAGLIB=ON - -DPKG_CONFIG_EXECUTABLE="c:/msvc_x86_64/bin/pkg-config.exe" - -DICU_ROOT="c:\msvc_x86_64" + -DPKG_CONFIG_EXECUTABLE="c:/strawberry_msvc_x86_debug/bin/pkg-config.exe" + -DICU_ROOT="c:/strawberry_msvc_x86_debug" - name: Run Make env: @@ -1875,19 +1785,15 @@ jobs: working-directory: build run: dir - - name: Copy executables - working-directory: build - run: copy debug\*.exe . - - name: Copy extra binaries working-directory: build run: | - copy c:\msvc_x86_64\bin\libssl-3-x64.dll - copy c:\msvc_x86_64\bin\libcrypto-3-x64.dll - copy c:\msvc_x86_64\bin\soup-2.4-1.dll - copy c:\msvc_x86_64\bin\gst-launch-1.0.exe - copy c:\msvc_x86_64\bin\gst-discoverer-1.0.exe - copy c:\msvc_x86_64\bin\sqlite3.exe + copy c:\strawberry_msvc_x86_debug\bin\libssl-3.dll + copy c:\strawberry_msvc_x86_debug\bin\libcrypto-3.dll + copy c:\strawberry_msvc_x86_debug\bin\soup-2.4-1.dll + copy c:\strawberry_msvc_x86_debug\bin\gst-launch-1.0.exe + copy c:\strawberry_msvc_x86_debug\bin\gst-discoverer-1.0.exe + copy c:\strawberry_msvc_x86_debug\bin\sqlite3.exe - name: Create directories working-directory: build @@ -1903,89 +1809,89 @@ jobs: - name: Copy GIO modules working-directory: build - run: copy c:\msvc_x86_64\lib\gio\modules\*.dll .\gio-modules\ + run: copy c:\strawberry_msvc_x86_debug\lib\gio\modules\*.dll .\gio-modules\ - name: Copy Qt platform plugins working-directory: build - run: copy c:\msvc_x86_64\plugins\platforms\qwindowsd.dll .\platforms\ + run: copy c:\strawberry_msvc_x86_debug\plugins\platforms\qwindowsd.dll .\platforms\ - name: Copy Qt styles working-directory: build - run: copy c:\msvc_x86_64\plugins\styles\qwindowsvistastyled.dll .\styles\ + run: copy c:\strawberry_msvc_x86_debug\plugins\styles\qwindowsvistastyled.dll .\styles\ - name: Copy Qt TLS plugins working-directory: build - run: copy c:\msvc_x86_64\plugins\tls\*.dll .\tls\ + run: copy c:\strawberry_msvc_x86_debug\plugins\tls\*.dll .\tls\ - name: Copy Qt SQL drivers working-directory: build - run: copy c:\msvc_x86_64\plugins\sqldrivers\qsqlited.dll .\sqldrivers\ + run: copy c:\strawberry_msvc_x86_debug\plugins\sqldrivers\qsqlited.dll .\sqldrivers\ - name: Copy Qt imageformats plugins working-directory: build - run: copy c:\msvc_x86_64\plugins\imageformats\*.dll .\imageformats\ + run: copy c:\strawberry_msvc_x86_debug\plugins\imageformats\*.dll .\imageformats\ - name: Copy gstreamer plugins working-directory: build run: | - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaes.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstbs2b.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstfaac.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstfaad.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstfdkaac.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstgme.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsthls.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstid3tag.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstmpg123.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstmusepack.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstopenmpt.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstpbtypes.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsttaglib.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsttwolame.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstwavenc.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\ - copy c:\msvc_x86_64\lib\gstreamer-1.0\gstxingmux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaes.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstbs2b.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstfaac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstfaad.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstfdkaac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstgme.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsthls.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstid3tag.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstmpg123.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstmusepack.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstopenmpt.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstpbtypes.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsttaglib.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsttwolame.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstwavenc.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstxingmux.dll .\gstreamer-plugins\ - name: Download copydlldeps.sh shell: bash @@ -2007,7 +1913,7 @@ jobs: -F ./imageformats -F ./gio-modules -F ./gstreamer-plugins - -R /c/msvc_x86_64/bin + -R /c/strawberry_msvc_x86_debug/bin - name: Copy nsis files working-directory: build @@ -2034,13 +1940,799 @@ jobs: path: build/StrawberrySetup*.exe + build-windows-msvc-x86-release: + name: Build Windows MSVC x86 Release + runs-on: windows-2019 + steps: + + - uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x86 + toolset: 14.29 + + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Delete conflicting files + shell: bash + run: | + rm -f /c/programdata/chocolatey/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cc1.exe,cc1plus.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,gdb.exe,gfortran.exe,ld.bfd.exe,ld.exe,ld.gold.exe,nm.exe,ranlib.exe,readelf.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.1.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe} + rm -f /c/strawberry/c/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,ld.exe,nm.exe,ranlib.exe,readelf.exe,widl.exe,windmc.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.3.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe} + + - name: Download Windows MSVC dependencies + uses: suisei-cn/actions-download-file@v1 + with: + url: "Windows MSVC dependencies [this](https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases/download/latest/strawberry-msvc-x86-release.tar.xz)!" + target: downloads/ + auto-match: true + + - 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: Download Registry plugin for NSIS + uses: suisei-cn/actions-download-file@v1 + with: + url: "Registry [this](https://nsis.sourceforge.io/mediawiki/images/4/47/Registry.zip)!" + target: downloads/ + auto-match: true + + - name: Extract NSIS Registry plugin + run: 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Registry.zip" + + - name: Download Inetc plugin for NSIS + uses: suisei-cn/actions-download-file@v1 + with: + url: "Inetc [this](https://nsis.sourceforge.io/mediawiki/images/c/c9/Inetc.zip)!" + target: downloads/ + auto-match: true + + - name: Extract NSIS Inetc plugin + run: 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Inetc.zip" + + - name: Install NSIS plugins + 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/" + copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/" + copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/" + copy "${{github.workspace}}/NSIS_Plugins/Plugins/x86-unicode/INetC.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/" + + - name: Extract Windows MSVC dependencies + shell: bash + run: | + tar -xf /d/a/strawberry/strawberry/downloads/strawberry-msvc-x86-release.tar.xz + mv strawberry_msvc_x86_release /c/ + + - name: Update PATH + run: echo "c:\strawberry_msvc_x86_release\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + + - name: Add safe git directory + shell: bash + run: git config --global --add safe.directory /__w/strawberry/strawberry + + - name: Create Build Environment + run: cmake -E make_directory build + + - name: Run CMake + working-directory: build + run: > + cmake .. + -G "Ninja" + -DCMAKE_BUILD_TYPE="Release" + -DCMAKE_PREFIX_PATH="c:/strawberry_msvc_x86_release/lib/cmake" + -DBUILD_WITH_QT6=ON + -DBUILD_WERROR=OFF + -DARCH=x86 + -DENABLE_WIN32_CONSOLE=OFF + -DUSE_TAGLIB=ON + -DPKG_CONFIG_EXECUTABLE="c:/strawberry_msvc_x86_release/bin/pkg-config.exe" + -DICU_ROOT="c:/strawberry_msvc_x86_release" + + - name: Run Make + env: + CL: "/MP" + working-directory: build + run: cmake --build . --config Release --parallel 4 + + - name: list files + working-directory: build + run: dir + + - name: Copy extra binaries + working-directory: build + run: | + copy c:\strawberry_msvc_x86_release\bin\libssl-3.dll + copy c:\strawberry_msvc_x86_release\bin\libcrypto-3.dll + copy c:\strawberry_msvc_x86_release\bin\soup-2.4-1.dll + copy c:\strawberry_msvc_x86_release\bin\gst-launch-1.0.exe + copy c:\strawberry_msvc_x86_release\bin\gst-discoverer-1.0.exe + copy c:\strawberry_msvc_x86_release\bin\sqlite3.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 c:\strawberry_msvc_x86_release\lib\gio\modules\*.dll .\gio-modules\ + + - name: Copy Qt platform plugins + working-directory: build + run: copy c:\strawberry_msvc_x86_release\plugins\platforms\qwindows.dll .\platforms\ + + - name: Copy Qt styles + working-directory: build + run: copy c:\strawberry_msvc_x86_release\plugins\styles\qwindowsvistastyle.dll .\styles\ + + - name: Copy Qt TLS plugins + working-directory: build + run: copy c:\strawberry_msvc_x86_release\plugins\tls\*.dll .\tls\ + + - name: Copy Qt SQL drivers + working-directory: build + run: copy c:\strawberry_msvc_x86_release\plugins\sqldrivers\qsqlite.dll .\sqldrivers\ + + - name: Copy Qt imageformats plugins + working-directory: build + run: copy c:\strawberry_msvc_x86_release\plugins\imageformats\*.dll .\imageformats\ + + - name: Copy gstreamer plugins + working-directory: build + run: | + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaes.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstbs2b.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstfaac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstfaad.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstfdkaac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstgme.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsthls.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstid3tag.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstmpg123.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstmusepack.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstopenmpt.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstpbtypes.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsttaglib.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsttwolame.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstwavenc.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_release\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/strawberry_msvc_x86_release/bin + + - 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@v3 + with: + name: upload-windows + path: build/StrawberrySetup*.exe + + + build-windows-msvc-x64-debug: + name: Build Windows MSVC x86_64 Debug + runs-on: windows-2019 + steps: + + - uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x86_64 + toolset: 14.29 + + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Delete conflicting files + shell: bash + run: | + rm -f /c/programdata/chocolatey/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cc1.exe,cc1plus.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,gdb.exe,gfortran.exe,ld.bfd.exe,ld.exe,ld.gold.exe,nm.exe,ranlib.exe,readelf.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.1.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe} + rm -f /c/strawberry/c/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,ld.exe,nm.exe,ranlib.exe,readelf.exe,widl.exe,windmc.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.3.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe} + + - name: Download Windows MSVC dependencies + uses: suisei-cn/actions-download-file@v1 + with: + url: "Windows MSVC dependencies [this](https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases/download/latest/strawberry-msvc-x86_64-debug.tar.xz)!" + target: downloads/ + auto-match: true + + - 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: Download Registry plugin for NSIS + uses: suisei-cn/actions-download-file@v1 + with: + url: "Registry [this](https://nsis.sourceforge.io/mediawiki/images/4/47/Registry.zip)!" + target: downloads/ + auto-match: true + + - name: Extract NSIS Registry plugin + run: 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Registry.zip" + + - name: Download Inetc plugin for NSIS + uses: suisei-cn/actions-download-file@v1 + with: + url: "Inetc [this](https://nsis.sourceforge.io/mediawiki/images/c/c9/Inetc.zip)!" + target: downloads/ + auto-match: true + + - name: Extract NSIS Inetc plugin + run: 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Inetc.zip" + + - name: Install NSIS plugins + 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/" + copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/" + copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/" + copy "${{github.workspace}}/NSIS_Plugins/Plugins/x86-unicode/INetC.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/" + + - name: Extract Windows MSVC dependencies + shell: bash + run: | + tar -xf /d/a/strawberry/strawberry//downloads/strawberry-msvc-x86_64-debug.tar.xz + mv strawberry_msvc_x86_64_debug /c/ + + - name: Update PATH + run: echo "c:\strawberry_msvc_x86_64_debug\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + + - name: Add safe git directory + shell: bash + run: git config --global --add safe.directory /__w/strawberry/strawberry + + - name: Create Build Environment + run: cmake -E make_directory build + + - name: Run CMake + working-directory: build + run: > + cmake .. + -G "Ninja" + -DCMAKE_BUILD_TYPE="Debug" + -DCMAKE_PREFIX_PATH="c:/strawberry_msvc_x86_64_debug/lib/cmake" + -DBUILD_WITH_QT6=ON + -DBUILD_WERROR=OFF + -DARCH=x86_64 + -DENABLE_WIN32_CONSOLE=ON + -DUSE_TAGLIB=ON + -DPKG_CONFIG_EXECUTABLE="c:/strawberry_msvc_x86_64_debug/bin/pkg-config.exe" + -DICU_ROOT="c:/strawberry_msvc_x86_64_debug" + + - name: Run Make + env: + CL: "/MP" + working-directory: build + run: cmake --build . --config Debug --parallel 4 + + - name: list files + working-directory: build + run: dir + + - name: Copy extra binaries + working-directory: build + run: | + copy c:\strawberry_msvc_x86_64_debug\bin\libssl-3-x64.dll + copy c:\strawberry_msvc_x86_64_debug\bin\libcrypto-3-x64.dll + copy c:\strawberry_msvc_x86_64_debug\bin\soup-2.4-1.dll + copy c:\strawberry_msvc_x86_64_debug\bin\gst-launch-1.0.exe + copy c:\strawberry_msvc_x86_64_debug\bin\gst-discoverer-1.0.exe + copy c:\strawberry_msvc_x86_64_debug\bin\sqlite3.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 c:\strawberry_msvc_x86_64_debug\lib\gio\modules\*.dll .\gio-modules\ + + - name: Copy Qt platform plugins + working-directory: build + run: copy c:\strawberry_msvc_x86_64_debug\plugins\platforms\qwindowsd.dll .\platforms\ + + - name: Copy Qt styles + working-directory: build + run: copy c:\strawberry_msvc_x86_64_debug\plugins\styles\qwindowsvistastyled.dll .\styles\ + + - name: Copy Qt TLS plugins + working-directory: build + run: copy c:\strawberry_msvc_x86_64_debug\plugins\tls\*.dll .\tls\ + + - name: Copy Qt SQL drivers + working-directory: build + run: copy c:\strawberry_msvc_x86_64_debug\plugins\sqldrivers\qsqlited.dll .\sqldrivers\ + + - name: Copy Qt imageformats plugins + working-directory: build + run: copy c:\strawberry_msvc_x86_64_debug\plugins\imageformats\*.dll .\imageformats\ + + - name: Copy gstreamer plugins + working-directory: build + run: | + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaes.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstbs2b.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstfaac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstfaad.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstfdkaac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstgme.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsthls.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstid3tag.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstmpg123.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstmusepack.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstopenmpt.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstpbtypes.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsttaglib.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsttwolame.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstwavenc.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_debug\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/strawberry_msvc_x86_64_debug/bin + + - 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@v3 + with: + name: upload-windows + path: build/StrawberrySetup*.exe + + + build-windows-msvc-x64-release: + name: Build Windows MSVC x86_64 Release + runs-on: windows-2019 + steps: + + - uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x86_64 + toolset: 14.29 + + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Delete conflicting files + shell: bash + run: | + rm -f /c/programdata/chocolatey/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cc1.exe,cc1plus.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,gdb.exe,gfortran.exe,ld.bfd.exe,ld.exe,ld.gold.exe,nm.exe,ranlib.exe,readelf.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.1.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe} + rm -f /c/strawberry/c/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,ld.exe,nm.exe,ranlib.exe,readelf.exe,widl.exe,windmc.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.3.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe} + + - name: Download Windows MSVC dependencies + uses: suisei-cn/actions-download-file@v1 + with: + url: "Windows MSVC dependencies [this](https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases/download/latest/strawberry-msvc-x86_64-release.tar.xz)!" + target: downloads/ + auto-match: true + + - 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: Download Registry plugin for NSIS + uses: suisei-cn/actions-download-file@v1 + with: + url: "Registry [this](https://nsis.sourceforge.io/mediawiki/images/4/47/Registry.zip)!" + target: downloads/ + auto-match: true + + - name: Extract NSIS Registry plugin + run: 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Registry.zip" + + - name: Download Inetc plugin for NSIS + uses: suisei-cn/actions-download-file@v1 + with: + url: "Inetc [this](https://nsis.sourceforge.io/mediawiki/images/c/c9/Inetc.zip)!" + target: downloads/ + auto-match: true + + - name: Extract NSIS Inetc plugin + run: 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Inetc.zip" + + - name: Install NSIS plugins + 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/" + copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/" + copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/" + copy "${{github.workspace}}/NSIS_Plugins/Plugins/x86-unicode/INetC.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/" + + - name: Extract Windows MSVC dependencies + shell: bash + run: | + tar -xf /d/a/strawberry/strawberry/downloads/strawberry-msvc-x86_64-release.tar.xz + mv strawberry_msvc_x86_64_release /c/ + + - name: Update PATH + run: echo "c:\strawberry_msvc_x86_64_release\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + + - name: Add safe git directory + shell: bash + run: git config --global --add safe.directory /__w/strawberry/strawberry + + - name: Create Build Environment + run: cmake -E make_directory build + + - name: Run CMake + working-directory: build + run: > + cmake .. + -G "Ninja" + -DCMAKE_BUILD_TYPE="Release" + -DCMAKE_PREFIX_PATH="c:/strawberry_msvc_x86_64_release/lib/cmake" + -DBUILD_WITH_QT6=ON + -DBUILD_WERROR=OFF + -DARCH=x86_64 + -DENABLE_WIN32_CONSOLE=OFF + -DUSE_TAGLIB=ON + -DPKG_CONFIG_EXECUTABLE="c:/strawberry_msvc_x86_64_release/bin/pkg-config.exe" + -DICU_ROOT="c:/strawberry_msvc_x86_64_release" + + - name: Run Make + env: + CL: "/MP" + working-directory: build + run: cmake --build . --config Release --parallel 4 + + - name: list files + working-directory: build + run: dir + + - name: Copy extra binaries + working-directory: build + run: | + copy c:\strawberry_msvc_x86_64_release\bin\libssl-3-x64.dll + copy c:\strawberry_msvc_x86_64_release\bin\libcrypto-3-x64.dll + copy c:\strawberry_msvc_x86_64_release\bin\soup-2.4-1.dll + copy c:\strawberry_msvc_x86_64_release\bin\gst-launch-1.0.exe + copy c:\strawberry_msvc_x86_64_release\bin\gst-discoverer-1.0.exe + copy c:\strawberry_msvc_x86_64_release\bin\sqlite3.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 c:\strawberry_msvc_x86_64_release\lib\gio\modules\*.dll .\gio-modules\ + + - name: Copy Qt platform plugins + working-directory: build + run: copy c:\strawberry_msvc_x86_64_release\plugins\platforms\qwindows.dll .\platforms\ + + - name: Copy Qt styles + working-directory: build + run: copy c:\strawberry_msvc_x86_64_release\plugins\styles\qwindowsvistastyle.dll .\styles\ + + - name: Copy Qt TLS plugins + working-directory: build + run: copy c:\strawberry_msvc_x86_64_release\plugins\tls\*.dll .\tls\ + + - name: Copy Qt SQL drivers + working-directory: build + run: copy c:\strawberry_msvc_x86_64_release\plugins\sqldrivers\qsqlite.dll .\sqldrivers\ + + - name: Copy Qt imageformats plugins + working-directory: build + run: copy c:\strawberry_msvc_x86_64_release\plugins\imageformats\*.dll .\imageformats\ + + - name: Copy gstreamer plugins + working-directory: build + run: | + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaes.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstbs2b.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstfaac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstfaad.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstfdkaac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstgme.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsthls.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstid3tag.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstmpg123.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstmusepack.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstopenmpt.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstpbtypes.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsttaglib.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsttwolame.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstwavenc.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\ + copy c:\strawberry_msvc_x86_64_release\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/strawberry_msvc_x86_64_release/bin + + - 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@v3 + with: + name: upload-windows + path: build/StrawberrySetup*.exe + + + upload-windows: name: Upload Windows Setup runs-on: ubuntu-latest if: github.ref == 'refs/heads/master' needs: - - build-windows-msvc-release - - build-windows-msvc-debug + - build-windows-msvc-x86-debug + - build-windows-msvc-x86-release + - build-windows-msvc-x64-debug + - build-windows-msvc-x64-release steps: - uses: actions/checkout@v3 - uses: actions/download-artifact@v3