diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7244b6d9..ac814de4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -432,11 +432,42 @@ jobs: sudo apt-get -y install -V \ libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libswresample-dev libswscale-dev \ libcurl4-openssl-dev + - name: "Dependency: OBS Libraries (Cache)" + id: obs-cache + uses: actions/cache@v3 + with: + path: "${{ github.workspace }}/build/obs" + key: "obs${{ env.obs_version }}-${{ matrix.runner }}-${{ env.CACHE_VERSION }}" - name: "Dependency: OBS Libraries" id: obs + if: ${{ steps.obs-cache.outputs.cache-hit != 'true' }} shell: bash run: | - sudo apt-get install libobs-dev + # Extra requirements by libobs on Linux. + sudo apt-get install \ + libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libswresample-dev libswscale-dev \ + libx264-dev libcurl4-openssl-dev libmbedtls-dev libgl1-mesa-dev libjansson-dev libluajit-5.1-dev python3-dev \ + libx11-dev libxcb-randr0-dev libxcb-shm0-dev libxcb-xinerama0-dev libxcomposite-dev libxinerama-dev \ + libxcb1-dev libx11-xcb-dev libxcb-xfixes0-dev swig libcmocka-dev libxss-dev libglvnd-dev libgles2-mesa \ + libgles2-mesa-dev libwayland-dev \ + libasound2-dev libfdk-aac-dev libfontconfig-dev libfreetype6-dev libjack-jackd2-dev libpulse-dev \ + libsndio-dev libspeexdsp-dev libudev-dev libv4l-dev libva-dev libvlc-dev libdrm-dev + cmake \ + -S "${{ github.workspace }}/third-party/obs-studio" \ + -B "${{ github.workspace }}/build/obs" \ + -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/build/obs/install" \ + -DCMAKE_PREFIX_PATH="${{ github.workspace }}/build/obsdeps;${{ github.workspace }}/build/qt" \ + -DENABLE_PLUGINS=OFF \ + -DENABLE_UI=OFF \ + -DENABLE_SCRIPTING=OFF + cmake \ + --build "${{ github.workspace }}/build/obs" \ + --config Release \ + --target obs-frontend-api + cmake \ + --install "${{ github.workspace }}/build/obs" \ + --config Release \ + --component obs_libraries - name: "Configure" continue-on-error: true shell: bash @@ -444,12 +475,10 @@ jobs: cmake \ -S "${{ github.workspace }}" \ -B "${{ github.workspace }}/build/ci" \ - ${{ env.cmake_generator }} \ - ${{ env.cmake_generator_toolset }} \ - ${{ env.cmake_generator_platform }} \ + -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/build/ci/install" \ -DPACKAGE_NAME="streamfx-${{ matrix.package_name }}" \ -DPACKAGE_PREFIX="${{ github.workspace }}/build/package" \ - -Dlibobs_DIR="/usr/lib/x86_64-linux-gnu/cmake/" + -Dlibobs_DIR="${{ github.workspace }}/build/obs/install" - name: "Build: Debug" continue-on-error: true shell: bash