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.

163 lines
5.2KB

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