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.

118 lines
4.1 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 година
пре 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. VSARCHPATH: "Win32"
  31. - compiler: msvc16
  32. bits: 64
  33. ARCH: "x64"
  34. VSARCHPATH: "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 "RELEASE_NAME=raylib-${{ github.event.release.tag_name }}_win${{ matrix.bits }}_${{ matrix.compiler }}" >> $GITHUB_ENV
  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.2
  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/VS2019
  75. msbuild.exe raylib.sln /target:raylib /property:Configuration=Release /property:Platform=${{ matrix.ARCH }}
  76. copy /Y .\build\raylib\bin\${{ matrix.VSARCHPATH }}\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 .\build\raylib\bin\${{ matrix.VSARCHPATH }}\Release.DLL\raylib.dll .\..\..\build\${{ env.RELEASE_NAME }}\lib\raylib.dll
  79. copy /Y .\build\raylib\bin\${{ matrix.VSARCHPATH }}\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. copy /Y .\README.md .\build\${{ env.RELEASE_NAME }}\README.md
  87. copy /Y .\LICENSE .\build\${{ env.RELEASE_NAME }}\LICENSE
  88. cd build
  89. 7z a ./${{ env.RELEASE_NAME }}.zip ./${{ env.RELEASE_NAME }}
  90. dir
  91. shell: cmd
  92. - name: Upload Artifacts
  93. uses: actions/upload-artifact@v2
  94. with:
  95. name: ${{ env.RELEASE_NAME }}.zip
  96. path: ./build/${{ env.RELEASE_NAME }}.zip
  97. - name: Upload Artifact to Release
  98. uses: actions/upload-release-asset@v1.0.1
  99. env:
  100. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  101. with:
  102. upload_url: ${{ github.event.release.upload_url }}
  103. asset_path: ./build/${{ env.RELEASE_NAME }}.zip
  104. asset_name: ${{ env.RELEASE_NAME }}.zip
  105. asset_content_type: application/zip
  106. if: github.event_name == 'release' && github.event.action == 'published'