DISTRHO Plugin Framework
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.

165 lines
5.0KB

  1. name: cmake
  2. on:
  3. push:
  4. branches:
  5. - '*'
  6. pull_request:
  7. branches:
  8. - '*'
  9. env:
  10. BUILD_TYPE: Release
  11. jobs:
  12. ubuntu-22-04:
  13. strategy:
  14. matrix:
  15. target: [linux-arm64, linux-armhf, linux-i686, linux-x86_64, win32, win64, pluginval]
  16. runs-on: ubuntu-22.04
  17. steps:
  18. - uses: actions/checkout@v4
  19. with:
  20. submodules: recursive
  21. - uses: distrho/dpf-cmake-action@v1
  22. with:
  23. dpf_path: .
  24. suffix: _22_04
  25. target: ${{ matrix.target }}
  26. ubuntu-24-04:
  27. strategy:
  28. matrix:
  29. target: [linux-arm64, linux-armhf, linux-x86_64, pluginval]
  30. runs-on: ubuntu-24.04
  31. steps:
  32. - uses: actions/checkout@v4
  33. with:
  34. submodules: recursive
  35. - uses: distrho/dpf-cmake-action@v1
  36. with:
  37. dpf_path: .
  38. suffix: _24_04
  39. target: ${{ matrix.target }}
  40. macos-12:
  41. strategy:
  42. matrix:
  43. target: [macos-intel, macos-universal, macos-10.15]
  44. runs-on: macos-12
  45. steps:
  46. - uses: actions/checkout@v4
  47. with:
  48. submodules: recursive
  49. - uses: distrho/dpf-cmake-action@v1
  50. with:
  51. dpf_path: .
  52. suffix: _12
  53. target: ${{ matrix.target }}
  54. macos-13:
  55. strategy:
  56. matrix:
  57. target: [macos-intel, macos-universal, macos-10.15]
  58. runs-on: macos-13
  59. steps:
  60. - uses: actions/checkout@v4
  61. with:
  62. submodules: recursive
  63. - uses: distrho/dpf-cmake-action@v1
  64. with:
  65. dpf_path: .
  66. suffix: _13
  67. target: ${{ matrix.target }}
  68. macos-14:
  69. strategy:
  70. matrix:
  71. target: [macos-intel, macos-universal, macos-10.15]
  72. runs-on: macos-14
  73. steps:
  74. - uses: actions/checkout@v4
  75. with:
  76. submodules: recursive
  77. - uses: distrho/dpf-cmake-action@v1
  78. with:
  79. dpf_path: .
  80. suffix: _14
  81. target: ${{ matrix.target }}
  82. cmake_win32:
  83. runs-on: windows-2019
  84. steps:
  85. - name: Set environment
  86. run: |
  87. echo "release_arch=Win32" >> "${Env:GITHUB_ENV}"
  88. echo "vcpkg_triplet=x86-windows-static" >> "${Env:GITHUB_ENV}"
  89. echo "vcpkg_git_commit_id=a3db16a4475b963cacf0260068c497fb72c8f3c0" >> "${Env:GITHUB_ENV}"
  90. - name: Restore from cache and install vcpkg
  91. uses: lukka/run-vcpkg@v6
  92. with:
  93. setupOnly: true
  94. vcpkgTriplet: ${{env.vcpkg_triplet}}
  95. vcpkgGitCommitId: ${{env.vcpkg_git_commit_id}}
  96. #- name: Install packages
  97. # run: |
  98. # & "${Env:VCPKG_ROOT}/vcpkg" install "cairo:${Env:vcpkg_triplet}"
  99. - uses: actions/checkout@v4
  100. with:
  101. submodules: recursive
  102. - name: Create Build Environment
  103. working-directory: ${{runner.workspace}}
  104. run: cmake -E make_directory build
  105. - name: Configure CMake
  106. working-directory: ${{runner.workspace}}/build
  107. run: |
  108. cmake "${Env:GITHUB_WORKSPACE}" -G"Visual Studio 16 2019" -A"${Env:release_arch}" -DCMAKE_BUILD_TYPE="${Env:BUILD_TYPE}" -DVCPKG_TARGET_TRIPLET="${Env:vcpkg_triplet}" -DCMAKE_TOOLCHAIN_FILE="${Env:VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake"
  109. - name: Build all
  110. working-directory: ${{runner.workspace}}/build
  111. run: cmake --build . --config "${Env:BUILD_TYPE}" -j 2
  112. - name: Show built files
  113. working-directory: ${{runner.workspace}}/build/bin
  114. run: tree
  115. - uses: actions/upload-artifact@v2
  116. with:
  117. name: Win32 artifacts
  118. path: ${{runner.workspace}}/build/bin/
  119. cmake_win64:
  120. runs-on: windows-2019
  121. steps:
  122. - name: Set environment
  123. run: |
  124. echo "release_arch=x64" >> "${Env:GITHUB_ENV}"
  125. echo "vcpkg_triplet=x64-windows-static" >> "${Env:GITHUB_ENV}"
  126. echo "vcpkg_git_commit_id=a3db16a4475b963cacf0260068c497fb72c8f3c0" >> "${Env:GITHUB_ENV}"
  127. - name: Restore from cache and install vcpkg
  128. uses: lukka/run-vcpkg@v6
  129. with:
  130. setupOnly: true
  131. vcpkgTriplet: ${{env.vcpkg_triplet}}
  132. vcpkgGitCommitId: ${{env.vcpkg_git_commit_id}}
  133. #- name: Install packages
  134. # run: |
  135. # & "${Env:VCPKG_ROOT}/vcpkg" install "cairo:${Env:vcpkg_triplet}"
  136. - uses: actions/checkout@v4
  137. with:
  138. submodules: recursive
  139. - name: Create Build Environment
  140. working-directory: ${{runner.workspace}}
  141. run: cmake -E make_directory build
  142. - name: Configure CMake
  143. working-directory: ${{runner.workspace}}/build
  144. run: |
  145. cmake "${Env:GITHUB_WORKSPACE}" -G"Visual Studio 16 2019" -A"${Env:release_arch}" -DCMAKE_BUILD_TYPE="${Env:BUILD_TYPE}" -DVCPKG_TARGET_TRIPLET="${Env:vcpkg_triplet}" -DCMAKE_TOOLCHAIN_FILE="${Env:VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake"
  146. - name: Build all
  147. working-directory: ${{runner.workspace}}/build
  148. run: cmake --build . --config "${Env:BUILD_TYPE}" -j 2
  149. - name: Show built files
  150. working-directory: ${{runner.workspace}}/build/bin
  151. run: tree
  152. - uses: actions/upload-artifact@v2
  153. with:
  154. name: Win64 artifacts
  155. path: ${{runner.workspace}}/build/bin/