|
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
matrix:
|
|
|
target: [linux, darwin, windows]
|
|
|
architecture: [32, 64, arm64]
|
|
|
- build_system: [make, cmake, vs2019, makegcc14]
|
|
|
+ build_system: [make, cmake, cmake-mingw, vs2019, makegcc14]
|
|
|
|
|
|
include:
|
|
|
- target: linux
|
|
|
@@ -46,6 +46,9 @@ jobs:
|
|
|
- build_system: cmake
|
|
|
cmake_configuration: RelWithDebInfo
|
|
|
|
|
|
+ - build_system: cmake-mingw
|
|
|
+ cmake_configuration: RelWithDebInfo
|
|
|
+
|
|
|
- build_system: vs2019
|
|
|
msbuild_configuration: Release
|
|
|
|
|
|
@@ -58,6 +61,11 @@ jobs:
|
|
|
build_system: cmake
|
|
|
cmake_generator: Visual Studio 17 2022
|
|
|
|
|
|
+ - target: windows
|
|
|
+ architecture: 64
|
|
|
+ runner: windows-2025
|
|
|
+ build_system: cmake-mingw
|
|
|
+
|
|
|
- target: windows
|
|
|
architecture: 32
|
|
|
ffmpeg_url: https://github.com/HaxeFoundation/hashlink/files/5648055/ffmpeg-3.4.2-win32-dev.zip
|
|
|
@@ -100,6 +108,16 @@ jobs:
|
|
|
- target: windows
|
|
|
build_system: makegcc14
|
|
|
|
|
|
+ - target: windows
|
|
|
+ architecture: 32
|
|
|
+ build_system: cmake-mingw
|
|
|
+
|
|
|
+ - target: darwin
|
|
|
+ build_system: cmake-mingw
|
|
|
+
|
|
|
+ - target: linux
|
|
|
+ build_system: cmake-mingw
|
|
|
+
|
|
|
steps:
|
|
|
- name: "SCM Checkout"
|
|
|
uses: actions/checkout@v5
|
|
|
@@ -143,7 +161,12 @@ jobs:
|
|
|
;;
|
|
|
|
|
|
windows*)
|
|
|
- curl -fsSL --retry 3 --retry-delay 5 -o /tmp/sdl.zip https://www.libsdl.org/release/SDL2-devel-2.30.2-VC.zip
|
|
|
+ if [[ ${{ matrix.build_system }} == cmake-mingw ]]; then
|
|
|
+ SDL_SUFFIX=mingw
|
|
|
+ else
|
|
|
+ SDL_SUFFIX=VC
|
|
|
+ fi
|
|
|
+ curl -fsSL --retry 3 --retry-delay 5 -o /tmp/sdl.zip https://www.libsdl.org/release/SDL2-devel-2.30.2-${SDL_SUFFIX}.zip
|
|
|
curl -fsSL --retry 3 --retry-delay 5 -o /tmp/openal.zip https://github.com/kcat/openal-soft/releases/download/1.23.1/openal-soft-1.23.1-bin.zip
|
|
|
curl -fsSL --retry 3 --retry-delay 5 -o /tmp/ffmpeg.zip ${{ matrix.ffmpeg_url }}
|
|
|
7z x /tmp/sdl.zip -oinclude; mv include/SDL2* include/sdl
|
|
|
@@ -209,6 +232,14 @@ jobs:
|
|
|
BUILD_FOLDER=build/bin
|
|
|
;;
|
|
|
|
|
|
+ cmake-mingw)
|
|
|
+ cmake -B build -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=${{ matrix.cmake_configuration }} \
|
|
|
+ -DWITH_DX12=OFF
|
|
|
+
|
|
|
+ cmake --build build --config ${{ matrix.cmake_configuration }} --parallel
|
|
|
+ BUILD_FOLDER=build/bin
|
|
|
+ ;;
|
|
|
+
|
|
|
vs2019)
|
|
|
MSBuild.exe hl.sln //nologo //m //clp:ErrorsOnly \
|
|
|
//p:Configuration=${{ matrix.msbuild_configuration }} \
|
|
|
@@ -239,7 +270,7 @@ jobs:
|
|
|
set -eux
|
|
|
|
|
|
case "${{ matrix.build_system }}" in
|
|
|
- cmake)
|
|
|
+ cmake*)
|
|
|
case "${{matrix.target}}" in
|
|
|
linux)
|
|
|
cmake --install build --prefix /tmp/hashlink
|
|
|
@@ -249,6 +280,9 @@ jobs:
|
|
|
cmake --install build --prefix /tmp/hashlink
|
|
|
if [ -f /tmp/hashlink/hl ]; then /tmp/hashlink/hl --version; fi
|
|
|
;;
|
|
|
+ windows)
|
|
|
+ export PATH=$(pwd)/build/bin:$PATH
|
|
|
+ ;;
|
|
|
esac
|
|
|
cd build && ctest --verbose --build-config ${{ matrix.cmake_configuration }}
|
|
|
;;
|
|
|
@@ -301,8 +335,8 @@ jobs:
|
|
|
short_commit=$(git rev-parse --short HEAD)
|
|
|
|
|
|
case "${{ matrix.build_system }}" in
|
|
|
- cmake)
|
|
|
- dist_folder=hashlink-${short_commit}-${platform_name}-cmake
|
|
|
+ cmake*)
|
|
|
+ dist_folder=hashlink-${short_commit}-${platform_name}-${{ matrix.build_system }}
|
|
|
cd build && cpack -D CPACK_PACKAGE_FILE_NAME=$dist_folder -C ${{ matrix.cmake_configuration }}
|
|
|
|
|
|
echo "HASHLINK_DISTRIBUTION=build/bin/$dist_folder.${{ matrix.archive_ext }}" >> $GITHUB_ENV
|
|
|
@@ -391,4 +425,5 @@ jobs:
|
|
|
"darwin-cmake-arm64/hashlink-${short_commit}-darwin-arm64-cmake.tar.gz#hashlink-latest-darwin-arm64.tar.gz" \
|
|
|
"linux-make-64/hashlink-${short_commit}-linux-amd64.tar.gz#hashlink-latest-linux-amd64.tar.gz" \
|
|
|
"windows-vs2019-32/hashlink-${short_commit}-win32.zip#hashlink-latest-win32.zip" \
|
|
|
- "windows-vs2019-64/hashlink-${short_commit}-win64.zip#hashlink-latest-win64.zip"
|
|
|
+ "windows-vs2019-64/hashlink-${short_commit}-win64.zip#hashlink-latest-win64.zip" \
|
|
|
+ "windows-cmake-mingw-64/hashlink-${short_commit}-win64-cmake-mingw.zip#hashlink-latest-win64-mingw.zip"
|