🛠️🐜 Antkeeper superbuild with dependencies included https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.4 KiB

  1. name: CI
  2. on: [push]
  3. jobs:
  4. build:
  5. name: ${{matrix.config.name}}
  6. runs-on: ${{matrix.config.os}}
  7. strategy:
  8. fail-fast: false
  9. matrix:
  10. config:
  11. - {
  12. name: "Win32",
  13. os: windows-latest,
  14. cmake_opts: "-A Win32 \
  15. -DALSOFT_BUILD_ROUTER=ON \
  16. -DALSOFT_REQUIRE_WINMM=ON \
  17. -DALSOFT_REQUIRE_DSOUND=ON \
  18. -DALSOFT_REQUIRE_WASAPI=ON",
  19. build_type: "Release"
  20. }
  21. - {
  22. name: "Win64",
  23. os: windows-latest,
  24. cmake_opts: "-A x64 \
  25. -DALSOFT_BUILD_ROUTER=ON \
  26. -DALSOFT_REQUIRE_WINMM=ON \
  27. -DALSOFT_REQUIRE_DSOUND=ON \
  28. -DALSOFT_REQUIRE_WASAPI=ON",
  29. build_type: "Release"
  30. }
  31. - {
  32. name: "macOS",
  33. os: macos-latest,
  34. cmake_opts: "-DALSOFT_REQUIRE_COREAUDIO=ON",
  35. build_type: "Release"
  36. }
  37. - {
  38. name: "Linux",
  39. os: ubuntu-latest,
  40. cmake_opts: "-DALSOFT_REQUIRE_RTKIT=ON \
  41. -DALSOFT_REQUIRE_ALSA=ON \
  42. -DALSOFT_REQUIRE_OSS=ON \
  43. -DALSOFT_REQUIRE_PORTAUDIO=ON \
  44. -DALSOFT_REQUIRE_PULSEAUDIO=ON \
  45. -DALSOFT_REQUIRE_JACK=ON",
  46. deps_cmdline: "sudo apt update && sudo apt-get install -qq \
  47. libpulse-dev \
  48. portaudio19-dev \
  49. libasound2-dev \
  50. libjack-dev \
  51. qtbase5-dev \
  52. libdbus-1-dev",
  53. build_type: "Release"
  54. }
  55. steps:
  56. - uses: actions/checkout@v1
  57. - name: Install Dependencies
  58. shell: bash
  59. run: |
  60. if [[ ! -z "${{matrix.config.deps_cmdline}}" ]]; then
  61. eval ${{matrix.config.deps_cmdline}}
  62. fi
  63. - name: Configure
  64. shell: bash
  65. run: |
  66. cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.config.build_type}} ${{matrix.config.cmake_opts}} .
  67. - name: Build
  68. shell: bash
  69. run: |
  70. cmake --build build --config ${{matrix.config.build_type}}
  71. - name: Upload Archive
  72. # Upload package as an artifact of this workflow.
  73. uses: actions/upload-artifact@v2
  74. if: ${{ matrix.config.os == 'windows-latest' }}
  75. with:
  76. name: soft_oal-${{matrix.config.name}}
  77. path: ${{github.workspace}}/build/${{matrix.config.build_type}}/soft_oal.dll