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.

116 lines
3.9 KiB

пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
пре 4 година
  1. name: Windows
  2. on:
  3. push:
  4. pull_request:
  5. release:
  6. types: [published]
  7. jobs:
  8. build:
  9. runs-on: windows-latest
  10. strategy:
  11. fail-fast: false
  12. max-parallel: 1
  13. matrix:
  14. compiler: [mingw-w64, msvc16]
  15. bits: [32, 64]
  16. include:
  17. - compiler: mingw-w64
  18. bits: 32
  19. ARCH: "i686"
  20. COMPILER_PATH: "C:\\msys64\\mingw32\\bin"
  21. WINDRES_ARCH: pe-i386
  22. - compiler: mingw-w64
  23. bits: 64
  24. ARCH: "x86_64"
  25. COMPILER_PATH: "C:\\msys64\\mingw64\\bin"
  26. WINDRES_ARCH: pe-x86-64
  27. - compiler: msvc16
  28. bits: 32
  29. ARCH: "x86"
  30. VSBINPATH: "Win32"
  31. - compiler: msvc16
  32. bits: 64
  33. ARCH: "x64"
  34. VSBINPATH: "x64"
  35. env:
  36. RELEASE_NAME: raylib-dev_win${{ matrix.bits }}_${{ matrix.compiler }}
  37. GNUTARGET: default
  38. steps:
  39. - name: Checkout
  40. uses: actions/checkout@master
  41. - name: Setup Release Version
  42. run: |
  43. echo "::set-env name=RELEASE_NAME::raylib-${{ github.event.release.tag_name }}_win${{ matrix.bits }}_${{ matrix.compiler }}"
  44. shell: bash
  45. if: github.event_name == 'release' && github.event.action == 'published'
  46. - name: Setup Environment
  47. run: |
  48. dir
  49. mkdir build
  50. cd build
  51. mkdir ${{ env.RELEASE_NAME }}
  52. cd ${{ env.RELEASE_NAME }}
  53. mkdir include
  54. mkdir lib
  55. cd ../../../raylib
  56. # Setup MSBuild.exe path if required
  57. - name: Setup MSBuild
  58. uses: microsoft/setup-msbuild@v1.0.1
  59. if: matrix.compiler == 'msvc16'
  60. - name: Build Library (MinGW-w64)
  61. run: |
  62. cd src
  63. set PATH=%PATH%;${{ matrix.COMPILER_PATH }}
  64. ${{ matrix.ARCH }}-w64-mingw32-gcc.exe --version
  65. ${{ matrix.COMPILER_PATH }}/windres.exe --version
  66. make PLATFORM=PLATFORM_DESKTOP CC=${{ matrix.ARCH }}-w64-mingw32-gcc.exe RAYLIB_LIBTYPE=STATIC RAYLIB_RELEASE_PATH="../build/${{ env.RELEASE_NAME }}/lib"
  67. ${{ matrix.COMPILER_PATH }}/windres.exe -i raylib.dll.rc -o raylib.dll.rc.data -O coff --target=${{ matrix.WINDRES_ARCH }}
  68. make PLATFORM=PLATFORM_DESKTOP CC=${{ matrix.ARCH }}-w64-mingw32-gcc.exe RAYLIB_LIBTYPE=SHARED RAYLIB_RELEASE_PATH="../build/${{ env.RELEASE_NAME }}/lib" -B
  69. cd ..
  70. shell: cmd
  71. if: matrix.compiler == 'mingw-w64'
  72. - name: Build Library (MSVC16)
  73. run: |
  74. cd projects/VS2017
  75. msbuild.exe raylib.sln /target:raylib /property:Configuration=Release /property:Platform=${{ matrix.ARCH }}
  76. copy /Y .\bin\${{ matrix.VSBINPATH }}\Release\raylib.lib .\..\..\build\${{ env.RELEASE_NAME }}\lib\raylib.lib
  77. msbuild.exe raylib.sln /target:raylib /property:Configuration=Release.DLL /property:Platform=${{ matrix.ARCH }}
  78. copy /Y .\bin\${{ matrix.VSBINPATH }}\Release.DLL\raylib.dll .\..\..\build\${{ env.RELEASE_NAME }}\lib\raylib.dll
  79. copy /Y .\bin\${{ matrix.VSBINPATH }}\Release.DLL\raylib.lib .\..\..\build\${{ env.RELEASE_NAME }}\lib\raylibdll.lib
  80. cd ../..
  81. shell: cmd
  82. if: matrix.compiler == 'msvc16'
  83. - name: Generate Artifacts
  84. run: |
  85. copy /Y .\src\raylib.h .\build\${{ env.RELEASE_NAME }}\include\raylib.h
  86. cd build
  87. 7z a ./${{ env.RELEASE_NAME }}.zip ./${{ env.RELEASE_NAME }}
  88. dir
  89. shell: cmd
  90. - name: Upload Artifacts
  91. uses: actions/upload-artifact@v2
  92. with:
  93. name: ${{ env.RELEASE_NAME }}.zip
  94. path: ./build/${{ env.RELEASE_NAME }}.zip
  95. - name: Upload Artifact to Release
  96. uses: actions/upload-release-asset@v1.0.1
  97. env:
  98. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  99. with:
  100. upload_url: ${{ github.event.release.upload_url }}
  101. asset_path: ./build/${{ env.RELEASE_NAME }}.zip
  102. asset_name: ${{ env.RELEASE_NAME }}.zip
  103. asset_content_type: application/zip
  104. if: github.event_name == 'release' && github.event.action == 'published'