diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 00000000..258c5740 --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,50 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Linux + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Release + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Install dev packages + run: | + sudo apt install libxext-dev doxygen libgl-dev + + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + # Build your program with the given configuration + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel `nproc` + + - name: Upload a Build Artifact + uses: actions/upload-artifact@v3.1.2 + with: + name: shadps4-ubuntu64 + # A file, directory or wildcard pattern that describes what to upload + path: | + ${{github.workspace}}/build/shadps4 + ${{github.workspace}}/build/libSDL3.so.0.0.0 diff --git a/.gitmodules b/.gitmodules index c7d75fb4..6d4a8197 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,18 +1,24 @@ [submodule "third-party/imgui"] path = third-party/imgui url = https://github.com/ocornut/imgui + shallow = true [submodule "third-party/SDL"] path = third-party/SDL url = https://github.com/libsdl-org/SDL + shallow = true [submodule "third-party/fmt"] path = third-party/fmt url = https://github.com/fmtlib/fmt.git + shallow = true [submodule "third-party/spdlog"] path = third-party/spdlog url = https://github.com/gabime/spdlog + shallow = true [submodule "third-party/magic_enum"] path = third-party/magic_enum url = https://github.com/Neargye/magic_enum.git + shallow = true [submodule "third-party/zydis"] path = third-party/zydis url = https://github.com/zyantific/zydis.git + shallow = true