Audio plugin host https://kx.studio/carla
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.

157 lines
5.2KB

  1. name: cmake
  2. on: [push, pull_request]
  3. env:
  4. DESTDIR: ${{ github.workspace }}/build/tmp
  5. jobs:
  6. macos-libs:
  7. runs-on: macos-latest
  8. steps:
  9. - uses: actions/checkout@v3
  10. - name: Set up dependencies
  11. run: |
  12. brew install cmake fluid-synth liblo libmagic libsndfile pkg-config
  13. - name: configure
  14. run: cmake -S cmake -B build -DCARLA_BUILD_FRAMEWORKS=OFF
  15. - name: build
  16. run: cmake --build build -j $(sysctl -n hw.logicalcpu)
  17. - name: install
  18. run: cmake --install build --verbose
  19. - uses: actions/upload-artifact@v3
  20. with:
  21. name: macos-libs
  22. path: ${{ env.DESTDIR }}
  23. macos-frameworks:
  24. runs-on: macos-latest
  25. steps:
  26. - uses: actions/checkout@v3
  27. - name: Set up dependencies
  28. run: |
  29. brew install cmake fluid-synth liblo libmagic libsndfile pkg-config
  30. - name: configure
  31. run: cmake -S cmake -B build -DCARLA_BUILD_FRAMEWORKS=ON
  32. - name: build
  33. run: cmake --build build -j $(sysctl -n hw.logicalcpu)
  34. - name: install
  35. run: cmake --install build --verbose
  36. - uses: actions/upload-artifact@v3
  37. with:
  38. name: macos-frameworks
  39. path: ${{ env.DESTDIR }}
  40. mingw32-cross:
  41. runs-on: ubuntu-22.04
  42. steps:
  43. - uses: actions/checkout@v3
  44. - name: Set up dependencies
  45. run: |
  46. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  47. sudo dpkg --add-architecture i386
  48. sudo apt-get update -qq
  49. sudo apt-get install -yqq --allow-downgrades cmake libc6:i386 libgcc-s1:i386 libstdc++6:i386 binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386
  50. - name: configure
  51. env:
  52. PKG_CONFIG: false
  53. run: cmake -S cmake -B build \
  54. -DCMAKE_CROSSCOMPILING=ON \
  55. -DCMAKE_CROSSCOMPILING_EMULATOR=wine \
  56. -DCMAKE_SYSTEM_NAME=Windows \
  57. -DCMAKE_SYSTEM_PROCESSOR=i686 \
  58. -DCMAKE_C_COMPILER=i686-w64-mingw32-gcc \
  59. -DCMAKE_CXX_COMPILER=i686-w64-mingw32-g++ \
  60. -DCMAKE_RANLIB=i686-w64-mingw32-ranlib \
  61. -DCMAKE_AR=$(which i686-w64-mingw32-ar)
  62. - name: build
  63. run: cmake --build build -j $(nproc)
  64. - name: install
  65. run: cmake --install build --verbose
  66. - uses: actions/upload-artifact@v3
  67. with:
  68. name: mingw32
  69. path: ${{ env.DESTDIR }}
  70. mingw64-cross:
  71. runs-on: ubuntu-22.04
  72. steps:
  73. - uses: actions/checkout@v3
  74. - name: Set up dependencies
  75. run: |
  76. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  77. sudo dpkg --add-architecture i386
  78. sudo apt-get update -qq
  79. sudo apt-get install -yqq --allow-downgrades cmake libc6:i386 libgcc-s1:i386 libstdc++6:i386 binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
  80. - name: configure
  81. env:
  82. PKG_CONFIG: false
  83. run: cmake -S cmake -B build \
  84. -DCMAKE_CROSSCOMPILING=ON \
  85. -DCMAKE_CROSSCOMPILING_EMULATOR=wine \
  86. -DCMAKE_SYSTEM_NAME=Windows \
  87. -DCMAKE_SYSTEM_PROCESSOR=x86_64 \
  88. -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc \
  89. -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ \
  90. -DCMAKE_RANLIB=x86_64-w64-mingw32-ranlib \
  91. -DCMAKE_AR=$(which x86_64-w64-mingw32-ar)
  92. - name: build
  93. run: cmake --build build -j $(nproc)
  94. - name: install
  95. run: cmake --install build --verbose
  96. - uses: actions/upload-artifact@v3
  97. with:
  98. name: mingw64
  99. path: ${{ env.DESTDIR }}
  100. ubuntu-20_04:
  101. runs-on: ubuntu-20.04
  102. steps:
  103. - uses: actions/checkout@v3
  104. - name: Set up dependencies
  105. run: |
  106. sudo apt-get update -qq
  107. sudo apt-get install -yqq cmake libfluidsynth-dev liblo-dev libmagic-dev libsndfile1-dev libx11-dev pkg-config
  108. - name: configure
  109. run: cmake -S cmake -B build
  110. - name: build
  111. run: cmake --build build -j $(nproc)
  112. - name: install
  113. run: cmake --install build --verbose
  114. - uses: actions/upload-artifact@v3
  115. with:
  116. name: ubuntu-20.04
  117. path: ${{ env.DESTDIR }}
  118. ubuntu-22_04:
  119. runs-on: ubuntu-22.04
  120. steps:
  121. - uses: actions/checkout@v3
  122. - name: Set up dependencies
  123. run: |
  124. sudo apt-get update -qq
  125. sudo apt-get install -yqq cmake libfluidsynth-dev liblo-dev libmagic-dev libsndfile1-dev libx11-dev pkg-config
  126. - name: configure
  127. run: cmake -S cmake -B build
  128. - name: build
  129. run: cmake --build build -j $(nproc)
  130. - name: install
  131. run: cmake --install build --verbose
  132. - uses: actions/upload-artifact@v3
  133. with:
  134. name: ubuntu-22.04
  135. path: ${{ env.DESTDIR }}
  136. windows:
  137. runs-on: windows-latest
  138. steps:
  139. - uses: actions/checkout@v3
  140. - name: configure
  141. run: cmake -S cmake -B build
  142. - name: build
  143. run: cmake --build build
  144. # FIXME fails with error
  145. # https://github.com/falkTX/Carla/actions/runs/5137608233/jobs/9245932221
  146. #- name: install
  147. #run: cmake --install build --verbose