Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions .github/actions/gstreamer/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ inputs:
gst_version:
description: Version of GStreamer to Build
required: true
default: 1.22.11
default: 1.22.12
build_type:
description: Build Type "release" or "debug"
required: true
Expand All @@ -25,7 +25,10 @@ runs:
run: git clone --depth 1 --branch ${{ inputs.gst_version }} https://github.com/GStreamer/gstreamer.git
shell: bash

# macos https://github.com/Homebrew/homebrew-core/blob/4e00e17ab49b90949c27cf43a873ca923f3735aa/Formula/g/gstreamer.rb
- name: Install Dependencies
run: python3 -m pip install --user ninja meson
shell: bash

- name: Configure GStreamer
working-directory: ${{ inputs.working_directory }}/gstreamer
run: meson setup
Expand All @@ -35,7 +38,7 @@ runs:
--wrap-mode=forcefallback
--strip
-Dauto_features=disabled
-Dgst-full-libraries=gstreamer,base,controller,net,app,audio,fft,pbutils,riff,rtp,rtsp,tag,video,gl,codecparsers,photography
-Dgst-full-libraries=gstreamer,base,video,gl
-Dgpl=enabled
-Dlibav=enabled
-Dorc=enabled
Expand Down Expand Up @@ -88,5 +91,11 @@ runs:

- name: Setup Environment
working-directory: ${{ runner.temp }}/gstreamer
run: echo "PKG_CONFIG_PATH=${{ runner.temp }}/gst/lib/x86_64-linux-gnu/pkgconfig:${{ env.PKG_CONFIG_PATH }}" >> "$GITHUB_ENV"
run: echo "PKG_CONFIG_PATH=${{ inputs.install_directory }}/lib/x86_64-linux-gnu/pkgconfig:${{ inputs.install_directory }}/lib/x86_64-linux-gnu/gstreamer-1.0/pkgconfig:${{ env.PKG_CONFIG_PATH }}" >> "$GITHUB_ENV"
shell: bash

- name: Save artifact
uses: actions/upload-artifact@v4
with:
name: GStreamer-${{ inputs.build_type }}
path: ${{ inputs.install_directory }}
2 changes: 2 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ jobs:
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
large-packages: false
continue-on-error: true

- name: Checkout repo
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ jobs:
- name: Install Dependencies
run: |
brew update
brew install cmake ninja ccache geographiclib SDL2 exiv2 expat zlib shapelib
brew install cmake ninja ccache geographiclib SDL2 exiv2 expat zlib shapelib pkgconfig
# pkgconf

- name: Install Gstreamer
run: |
Expand All @@ -65,6 +66,7 @@ jobs:
for package in *.pkg ;
do sudo installer -verbose -pkg "$package" -target /
done
echo "PKG_CONFIG_PATH=/Library/Frameworks/GStreamer.framework/lib/pkgconfig:/Library/Frameworks/GStreamer.framework/lib/gstreamer-1.0/pkgconfig:${{ env.PKG_CONFIG_PATH }}" >> "$GITHUB_ENV"

- name: Set Up Cache
uses: hendrikmuhs/ccache-action@v1.2
Expand Down
42 changes: 20 additions & 22 deletions cmake/CreateAppImage.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,26 @@ message(STATUS "Creating AppImage")
# TODO: https://github.com/AppImageCommunity/AppImageUpdate

set(APPDIR_PATH "${CMAKE_BINARY_DIR}/AppDir")
# set(APPIMAGETOOL_PATH "${CMAKE_BINARY_DIR}/appimagetool-x86_64.AppImage")
set(APPIMAGETOOL_PATH "${CMAKE_BINARY_DIR}/appimagetool-x86_64.AppImage")
set(LD_PATH "${CMAKE_BINARY_DIR}/linuxdeploy-x86_64.AppImage")
set(LD_APPIMAGEPLUGIN_PATH "${CMAKE_BINARY_DIR}/linuxdeploy-plugin-appimage-x86_64.AppImage")
# set(LD_APPIMAGEPLUGIN_PATH "${CMAKE_BINARY_DIR}/linuxdeploy-plugin-appimage-x86_64.AppImage")
# set(LD_QTPLUGIN_PATH "${CMAKE_BINARY_DIR}/linuxdeploy-plugin-qt-x86_64.AppImage")
# set(LD_GSTPLUGIN_PATH "${CMAKE_BINARY_DIR}/linuxdeploy-plugin-gstreamer.sh")
# set(LD_GTKPLUGIN_PATH "${CMAKE_BINARY_DIR}/linuxdeploy-plugin-gtk.sh")

# if(NOT EXISTS "${APPIMAGETOOL_PATH}")
# file(DOWNLOAD https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage "${APPIMAGETOOL_PATH}")
# execute_process(COMMAND chmod a+x "${APPIMAGETOOL_PATH}")
# endif()
if(NOT EXISTS "${APPIMAGETOOL_PATH}")
file(DOWNLOAD https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage "${APPIMAGETOOL_PATH}")
# file(DOWNLOAD https://github.com/probonopd/go-appimage/releases/download/832/appimagetool-823-x86_64.AppImage "${APPIMAGETOOL_PATH}") # TODO: Use Continuous Release
execute_process(COMMAND chmod a+x "${APPIMAGETOOL_PATH}")
endif()
if(NOT EXISTS "${LD_PATH}")
file(DOWNLOAD https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage "${LD_PATH}")
execute_process(COMMAND chmod a+x "${LD_PATH}")
endif()
if(NOT EXISTS "${LD_APPIMAGEPLUGIN_PATH}")
file(DOWNLOAD https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-x86_64.AppImage "${LD_APPIMAGEPLUGIN_PATH}")
execute_process(COMMAND chmod a+x "${LD_APPIMAGEPLUGIN_PATH}")
endif()
# if(NOT EXISTS "${LD_APPIMAGEPLUGIN_PATH}")
# file(DOWNLOAD https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-x86_64.AppImage "${LD_APPIMAGEPLUGIN_PATH}")
# execute_process(COMMAND chmod a+x "${LD_APPIMAGEPLUGIN_PATH}")
# endif()
# if(NOT EXISTS "${LD_QTPLUGIN_PATH}")
# file(DOWNLOAD https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage "${LD_QTPLUGIN_PATH}")
# execute_process(COMMAND chmod a+x "${LD_QTPLUGIN_PATH}")
Expand All @@ -34,17 +35,14 @@ endif()
# execute_process(COMMAND chmod a+x "${LD_GSTPLUGIN_PATH}")
# endif()

execute_process(COMMAND ${LD_PATH} --appdir ${APPDIR_PATH} --output appimage --custom-apprun ${CMAKE_BINARY_DIR}/AppRun)
# --exclude-library "libX*"
# --exclude-library "libglib*"
# --exclude-library "libgobject*"
# --exclude-library "libgdk_pixbuf*"
# --exclude-library "libwayland*"
# --exclude-library "libgmodule*"
# --exclude-library "libgio*"
# --exclude-library "libxcb*"
# --exclude-library "libxkbcommon*"
# --exclude-library "libdb*"
execute_process(COMMAND ${LD_PATH}
--appdir ${APPDIR_PATH}
--executable ${APPDIR_PATH}/usr/bin/QGroundControl
--desktop-file ${APPDIR_PATH}/usr/share/applications/org.mavlink.qgroundcontrol.desktop
--custom-apprun ${CMAKE_BINARY_DIR}/AppRun)
# --exclude-library "libgst*"
# --exclude-library "libgthread*"
# --plugin qt --plugin gtk --plugin gstreamer

set(ENV{ARCH} x86_64)
# set(ENV{VERSION} 5.0)
execute_process(COMMAND ${APPIMAGETOOL_PATH} ${APPDIR_PATH})
Loading
Loading