Another commit to trigger GitHub Action #18
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build NetLib Browser | |
| on: | |
| push: | |
| paths: | |
| - 'Client App/**' | |
| branches: [ "main" ] | |
| pull_request: | |
| paths: | |
| - 'Client App/**' | |
| branches: [ "main" ] | |
| release: | |
| types: | |
| - created | |
| env: | |
| WXVERSION: v3.2.8 | |
| WINDOWS_ARTIFACT_NAME: NetLibBrowser-Windows-x86 | |
| LINUX_ARTIFACT_NAME: NetLibBrowser-Linux-x64 | |
| MACOS_ARTIFACT_NAME: NetLibBrowser-macOS-x64 | |
| jobs: | |
| build-windows: | |
| runs-on: windows-2019 | |
| env: | |
| SOLUTION_FILE_PATH: ./Client App/NetLibBrowser.sln | |
| BUILD_CONFIGURATION: Release | |
| BUILD_PLATFORM: x86 | |
| BUILD_PLATFORM2: Win32 | |
| BUILD_TOOLSET: v141_xp | |
| BUILD_DIRECTORY: ./Client App/Release | |
| WXWIN: D:/wxWidgets/ | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ilammy/msvc-dev-cmd@v1 | |
| - name: Download wxWidgets | |
| run: | | |
| cd D:/ | |
| git clone https://github.com/wxWidgets/wxWidgets.git | |
| cd wxWidgets | |
| git checkout tags/${{ env.WXVERSION }} | |
| git submodule update --init --recursive | |
| cd build/msw | |
| Get-ChildItem *.vcxproj -recurse | | |
| Foreach-Object { | |
| $c = ($_ | Get-Content) | |
| $c = $c -replace 'MultiThreadedDLL','MultiThreaded' | |
| [IO.File]::WriteAllText($_.FullName, ($c -join "`r`n")) | |
| } | |
| - name: Compile wxWidgets | |
| run: | | |
| cd D:/wxWidgets/build/msw | |
| msbuild /m /p:Configuration=${{ env.BUILD_CONFIGURATION }} /p:Platform=${{ env.BUILD_PLATFORM2 }} /p:PlatformToolset=${{ env.BUILD_TOOLSET }} /p:RuntimeLibrary=MultiThreaded wx_vc16.sln | |
| - name: Download UNFLoader | |
| run: | | |
| cd D:/ | |
| git clone https://github.com/buu342/N64-UNFLoader | |
| cd N64-UNFLoader | |
| git submodule update --init --recursive | |
| - name: Compile UNFLoader | |
| run: | | |
| cd D:/N64-UNFLoader/UNFLoader | |
| msbuild /m /p:Configuration=${{ env.BUILD_CONFIGURATION }} /p:Platform=${{ env.BUILD_PLATFORM2 }} /p:PlatformToolset=${{ env.BUILD_TOOLSET }} FlashcartLib_Static.vcxproj | |
| - name: Add MSBuild to PATH | |
| uses: microsoft/setup-msbuild@v2 | |
| with: | |
| vs-version: '16.0' | |
| msbuild-architecture: x86 | |
| - name: Build NetLib Browser | |
| working-directory: ${{ env.GITHUB_WORKSPACE }} | |
| run: | | |
| cd "Client App/Include/" | |
| Copy-Item "D:/N64-UNFLoader/UNFLoader/Release/Flashcart.lib" | |
| cd ../.. | |
| msbuild /m /p:Configuration=${{ env.BUILD_CONFIGURATION }} /p:Platform=${{ env.BUILD_PLATFORM }} /p:PlatformToolset=${{ env.BUILD_TOOLSET }} "${{ env.SOLUTION_FILE_PATH }}" | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.WINDOWS_ARTIFACT_NAME }} | |
| path: ${{ env.BUILD_DIRECTORY }}/NetLibBrowser.exe | |
| build-linux: | |
| runs-on: ubuntu-latest | |
| env: | |
| SOURCES_DIRECTORY: Client App | |
| BUILD_DIRECTORY: Client App/build | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get install build-essential libgtk-3-dev freeglut3-dev libftdi1-dev libusb-1.0-0-dev libudev-dev | |
| - name: Build wxWidgets | |
| run: | | |
| git clone https://github.com/wxWidgets/wxWidgets.git | |
| cd wxWidgets | |
| git checkout tags/${{ env.WXVERSION }} | |
| git submodule update --init --recursive | |
| mkdir gtk-build | |
| cd gtk-build | |
| ../configure --with-opengl --disable-shared | |
| make -j$(nproc) | |
| sudo make install | |
| sudo ldconfig | |
| - name: Build UNFLoader | |
| run: | | |
| git clone https://github.com/buu342/N64-UNFLoader | |
| cd N64-UNFLoader | |
| git submodule update --init --recursive | |
| cd UNFLoader | |
| make static | |
| cp -f flashcart.a "../../${{ env.SOURCES_DIRECTORY }}/Include/" | |
| - name: Build NetLib Browser | |
| run: | | |
| cd "${{ env.SOURCES_DIRECTORY }}/" | |
| make | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.LINUX_ARTIFACT_NAME }} | |
| path: "${{ env.BUILD_DIRECTORY }}/NetLibBrowser" | |
| build-macos: | |
| runs-on: macos-latest | |
| env: | |
| LIBFTD2XX_VERSION: '1.4.24' | |
| SOURCES_DIRECTORY: Client App | |
| BUILD_DIRECTORY: Client App/build | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Dependencies | |
| run: | | |
| echo Installing Prerequisites | |
| brew install libftdi | |
| - name: Build wxWidgets | |
| run: | | |
| git clone https://github.com/wxWidgets/wxWidgets.git | |
| cd wxWidgets | |
| git checkout tags/${{ env.WXVERSION }} | |
| git submodule update --init --recursive | |
| mkdir build-cocoa | |
| cd build-cocoa | |
| ../configure --with-opengl --disable-shared --disable-sys-libs | |
| make | |
| sudo make install | |
| - name: Build UNFLoader | |
| run: | | |
| git clone https://github.com/buu342/N64-UNFLoader | |
| cd N64-UNFLoader | |
| git submodule update --init --recursive | |
| cd UNFLoader | |
| make static | |
| cp -f flashcart.a "../../${{ env.SOURCES_DIRECTORY }}/Include/" | |
| - name: Build NetLib Browser | |
| run: | | |
| cd "${{ env.SOURCES_DIRECTORY }}/" | |
| make | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.MACOS_ARTIFACT_NAME }} | |
| path: "${{ env.BUILD_DIRECTORY }}/NetLibBrowser" |