|
47 | 47 | fetch-depth: 0 |
48 | 48 |
|
49 | 49 | - name: Configure CMake |
50 | | - run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -G "Visual Studio 17 2022" -A ${{ matrix.platform }} |
| 50 | + run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -G "Visual Studio 18 2026" -A ${{ matrix.platform }} |
51 | 51 |
|
52 | 52 | - name: Build |
53 | 53 | run: cmake --build ${{ github.workspace }}/build --config ${{ matrix.config }} --parallel |
@@ -95,39 +95,75 @@ jobs: |
95 | 95 | name: etf-artifacts-linux-${{ matrix.arch }} |
96 | 96 | path: ${{ github.workspace }}/build/etf |
97 | 97 |
|
98 | | - #macOS: |
99 | | - # name: macOS ${{ matrix.arch }} |
100 | | - # runs-on: macos-14 |
101 | | - # strategy: |
102 | | - # fail-fast: false |
103 | | - # matrix: |
104 | | - # arch: [x64] |
105 | | - # config: [Release] |
106 | | - # include: |
107 | | - # - arch: x64 |
108 | | - # platforms: "\"x86_64;arm64\"" |
109 | | - # osx-target: "10.12" |
110 | | - # |
111 | | - # steps: |
112 | | - # - uses: actions/checkout@v4 |
113 | | - # with: |
114 | | - # fetch-depth: 0 |
115 | | - # |
116 | | - # - name: Configure CMake |
117 | | - # run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_OSX_ARCHITECTURES=${{ matrix.platforms }} -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.osx-target }} |
118 | | - # |
119 | | - # - name: Build |
120 | | - # run: cmake --build ${{ github.workspace }}/build --config ${{ matrix.config }} --parallel |
121 | | - # |
122 | | - # #- name: Upload artifacts |
123 | | - # # uses: actions/upload-artifact@v4 |
124 | | - # # with: |
125 | | - # # name: etf-artifacts-macos-${{ matrix.arch }} |
126 | | - # # path: ${{ github.workspace }}/build/etf |
| 98 | + macOS: |
| 99 | + name: macOS ${{ matrix.arch }} |
| 100 | + runs-on: macos-14 |
| 101 | + strategy: |
| 102 | + fail-fast: false |
| 103 | + matrix: |
| 104 | + arch: [x86_64, arm64] |
| 105 | + config: [Release] |
| 106 | + include: |
| 107 | + - osx-target: "10.13" |
| 108 | + |
| 109 | + steps: |
| 110 | + - uses: actions/checkout@v4 |
| 111 | + with: |
| 112 | + fetch-depth: 0 |
| 113 | + |
| 114 | + - name: Configure CMake |
| 115 | + run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_OSX_ARCHITECTURES=${{ matrix.platforms }} -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.osx-target }} |
| 116 | + |
| 117 | + - name: Build |
| 118 | + run: cmake --build ${{ github.workspace }}/build --config ${{ matrix.config }} --parallel |
| 119 | + |
| 120 | + - name: Upload artifacts |
| 121 | + uses: actions/upload-artifact@v4 |
| 122 | + with: |
| 123 | + name: etf-artifacts-macos-${{ matrix.arch }} |
| 124 | + path: ${{ github.workspace }}/build/etf |
| 125 | + |
| 126 | + macOS-universal: |
| 127 | + name: macOS Universal Binaries |
| 128 | + runs-on: macos-14 |
| 129 | + needs: [macOS] |
| 130 | + steps: |
| 131 | + - uses: actions/download-artifact@v4 |
| 132 | + with: |
| 133 | + pattern: etf-artifacts-macos-* |
| 134 | + path: artifacts |
| 135 | + |
| 136 | + - name: Create universal binaries |
| 137 | + run: | |
| 138 | + mkdir -p build-universal |
| 139 | + cp -R artifacts/etf-artifacts-macos-arm64/* build-universal |
| 140 | + lipo -create artifacts/etf-artifacts-macos-x86_64/cgame_mac \ |
| 141 | + artifacts/etf-artifacts-macos-arm64/cgame_mac \ |
| 142 | + -output build-universal/cgame_mac |
| 143 | + lipo -create artifacts/etf-artifacts-macos-x86_64/ui_mac \ |
| 144 | + artifacts/etf-artifacts-macos-arm64/ui_mac \ |
| 145 | + -output build-universal/ui_mac |
| 146 | + lipo -create artifacts/etf-artifacts-macos-x86_64/qagame_mac \ |
| 147 | + artifacts/etf-artifacts-macos-arm64/qagame_mac \ |
| 148 | + -output build-universal/qagame_mac |
| 149 | +
|
| 150 | + - name: Upload artifacts |
| 151 | + uses: actions/upload-artifact@v4 |
| 152 | + with: |
| 153 | + name: etf-artifacts-macos-universal |
| 154 | + path: ${{ github.workspace }}/build-universal |
| 155 | + |
| 156 | + # cleanup the individual builds so package doesn't download them |
| 157 | + - name: Cleanup |
| 158 | + uses: geekyeggo/delete-artifact@v5 |
| 159 | + with: |
| 160 | + name: | |
| 161 | + etf-artifacts-macos-arm64 |
| 162 | + etf-artifacts-macos-x86_64 |
127 | 163 | |
128 | 164 | package: |
129 | 165 | if: github.ref == 'refs/heads/master' && github.event_name == 'push' || github.event_name == 'workflow_dispatch' |
130 | | - needs: [Windows-MSVC, Linux] #, macOS] |
| 166 | + needs: [Windows-MSVC, Linux, macOS-universal] |
131 | 167 | runs-on: ubuntu-22.04 |
132 | 168 | steps: |
133 | 169 | - uses: actions/checkout@v4 |
|
0 commit comments