dylib.yml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. name: build dylib
  2. on: [push]
  3. jobs:
  4. build_win:
  5. runs-on: windows-latest
  6. steps:
  7. - uses: actions/checkout@v3
  8. - uses: ilammy/msvc-dev-cmd@v1
  9. - name: Compile
  10. shell: powershell
  11. run: |
  12. Invoke-Expression (Invoke-Webrequest 'https://xmake.io/psget.text' -UseBasicParsing).Content
  13. mkdir -p output/windows/x86_64
  14. cd dylib
  15. xmake f -p windows -a x64
  16. xmake
  17. cp build/windows/x64/release/test.dll ../output/windows/x86_64
  18. - uses: actions/upload-artifact@v3
  19. with:
  20. path: output
  21. build_linux_android:
  22. runs-on: ubuntu-latest
  23. steps:
  24. - uses: actions/checkout@v3
  25. - name: Install xmake
  26. run: |
  27. wget https://xmake.io/shget.text -O - | bash
  28. xmake --version
  29. - name: Compile linux
  30. run: |
  31. mkdir -p output/linux/x86_64
  32. cd dylib
  33. xmake f -p linux -a x86_64
  34. xmake
  35. cp build/linux/x86_64/release/libtest.so ../output/linux/x86_64
  36. - uses: android-actions/setup-android@v2
  37. - uses: nttld/setup-ndk@v1
  38. id: setup-ndk
  39. with:
  40. ndk-version: r25b
  41. add-to-path: false
  42. local-cache: true
  43. - name: Compile android
  44. run: |
  45. mkdir -p output/android/armeabi-v7a
  46. mkdir -p output/android/arm64-v8a
  47. cd dylib
  48. xmake f -p android -a armeabi-v7a --ndk=$ANDROID_NDK_HOME
  49. xmake
  50. cp build/android/armeabi-v7a/release/libtest.so ../output/android/armeabi-v7a
  51. xmake f -p android -a arm64-v8a --ndk=$ANDROID_NDK_HOME
  52. xmake
  53. cp build/android/arm64-v8a/release/libtest.so ../output/android/arm64-v8a
  54. env:
  55. ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
  56. - uses: actions/upload-artifact@v3
  57. with:
  58. path: output
  59. build_macos:
  60. runs-on: macos-latest
  61. steps:
  62. - uses: actions/checkout@v3
  63. - name: Install xmake
  64. run: |
  65. wget https://xmake.io/shget.text -O - | bash
  66. source ~/.xmake/profile
  67. xmake --version
  68. - name: Compile
  69. run: |
  70. source ~/.xmake/profile
  71. mkdir -p output/macos/x86_64
  72. cd dylib
  73. xmake f -p macosx -a x86_64
  74. xmake
  75. cp build/macosx/x86_64/release/libtest.dylib ../output/macos/x86_64
  76. - uses: actions/upload-artifact@v3
  77. with:
  78. path: output