Skip to content

Commit

Permalink
Merge branch 'mavlink:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Paschalis authored Oct 30, 2024
2 parents 5d56a68 + 2b1c88b commit 29bf3cf
Show file tree
Hide file tree
Showing 163 changed files with 5,573 additions and 3,628 deletions.
50 changes: 32 additions & 18 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.24.8
build_type:
description: Build Type "release" or "debug"
required: true
Expand All @@ -25,32 +25,41 @@ runs:
run: git clone --depth 1 --branch ${{ inputs.gst_version }} https://github.com/GStreamer/gstreamer.git
shell: bash

- 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
--prefix=${{ inputs.install_directory }}
--buildtype=${{ inputs.build_type }}
--default-library=static
--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=video,gl
-Dgpl=enabled
-Dlibav=enabled
-Dorc=enabled
-Dqt6=enabled
-Dvaapi=enabled
-Dbase=enabled
-Dgst-plugins-base:app=enabled
-Dgst-plugins-base:gl=enabled
-Dgst-plugins-base:gl_platform=glx
-Dgst-plugins-base:gl_winsys=x11
-Dgst-plugins-base:x11=enabled
-Dgst-plugins-base:gl_api=opengl,gles2
-Dgst-plugins-base:gl_platform=glx,egl
-Dgst-plugins-base:gl_winsys=x11,egl,wayland
-Dgst-plugins-base:playback=enabled
-Dgst-plugins-base:tcp=enabled
-Dgst-plugins-base:x11=enabled
-Dgood=enabled
-Dgst-plugins-good:qt6=enabled
-Dgst-plugins-good:qt-x11=enabled
-Dgst-plugins-good:qt-method=auto
-Dgst-plugins-good:isomp4=enabled
-Dgst-plugins-good:matroska=enabled
-Dgst-plugins-good:qt-egl=enabled
-Dgst-plugins-good:qt-method=auto
-Dgst-plugins-good:qt-wayland=enabled
-Dgst-plugins-good:qt-x11=enabled
-Dgst-plugins-good:qt6=enabled
-Dgst-plugins-good:rtp=enabled
-Dgst-plugins-good:rtpmanager=enabled
-Dgst-plugins-good:rtsp=enabled
Expand All @@ -59,20 +68,19 @@ runs:
-Dgst-plugins-bad:gl=enabled
-Dgst-plugins-bad:mpegtsdemux=enabled
-Dgst-plugins-bad:rtp=enabled
-Dgst-plugins-bad:videoparsers=enabled
-Dgst-plugins-bad:sdp=enabled
-Dgst-plugins-bad:va=enabled
-Dgst-plugins-bad:videoparsers=enabled
-Dgst-plugins-bad:wayland=enabled
-Dgst-plugins-bad:x11=enabled
-Dgst-plugins-bad:x265=enabled
-Dugly=enabled
-Dgst-plugins-ugly:x264=enabled
builddir
# -Dqt6=enabled
# --default-library=static
# --prefer_static=true
# -Dgst-full-target-type=static_library
# -Dgst-plugins-base:gl_platform=glx,egl
# -Dgst-plugins-base:gl_winsys=x11,egl,wayland
# -Dgst-plugins-good:qt-wayland=enabled
# -Dgst-plugins-good:qt-egl=enabled
# -Dgst-plugins-bad:xshm=enabled
# -Dgst-plugins-bad:wayland=enabled
# -Dgstreamer:gstreamer-static-full=true
shell: bash

- name: Compile GStreamer
Expand All @@ -87,5 +95,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 }}
21 changes: 21 additions & 0 deletions .github/actions/playstore/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Publish Android Build to Play Store
description: Checks out the QGC repo with all the correct settings
inputs:
artifact:
description: Build File To Upload
required: true
service_account_json:
description: The service account json private key file to authorize the upload request
required: true
runs:
using: "composite"
steps:
- name: Deploy to Play Store
if: ${{ github.event_name != 'pull_request' && github.ref_name == 'master' }}
uses: r0adkll/upload-google-play@v1
with:
serviceAccountJsonPlainText: ${{ inputs.service_account_json }}
packageName: com.mavlink.qgroundcontrol
releaseFiles: ${{ inputs.artifact }}
track: production
status: completed
16 changes: 16 additions & 0 deletions .github/actions/upload/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ inputs:
description: Source location
required: false
default: package
github_token:
description: GitHub Token
required: false

runs:
using: "composite"
Expand Down Expand Up @@ -43,3 +46,16 @@ runs:
working-directory: ${{ runner.temp }}/shadow_build_dir/${{ inputs.source }}
run: aws s3 cp ${{ inputs.artifact_name }} s3://qgroundcontrol/latest/${{ inputs.artifact_name }} --acl public-read
shell: bash

- name: Create Continuous Release
if: ${{ github.event_name != 'pull_request' && github.ref_name == 'master' && inputs.github_token != '' }}
uses: softprops/action-gh-release@v2
with:
tag_name: latest
target_commitish: master
files: ${{ runner.temp }}/shadow_build_dir/${{ inputs.source }}/${{ inputs.artifact_name }}
name: "Continuous Release"
body: "This release is continuously updated with every commit to master."
draft: false
prerelease: true
token: ${{ inputs.github_token }}
8 changes: 8 additions & 0 deletions .github/workflows/android-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,11 @@ jobs:
aws_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
source: ''
github_token: ${{ secrets.GITHUB_TOKEN }}

# - name: Deploy to Play Store
# if: matrix.BuildType == 'Release'
# uses: ./.github/actions/playstore
# with:
# artifact_name: ${{ runner.temp }}/shadow_build_dir/${{ env.ARTIFACT }}
# service_account_json: ${{ secrets.SERVICE_ACCOUNT }}
68 changes: 63 additions & 5 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,13 @@ jobs:
env:
ARTIFACT: QGroundControl-x86_64.AppImage
QT_VERSION: 6.6.3
# GST_VERSION: 1.22.12
GST_VERSION: 1.22.12

steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
large-packages: false
continue-on-error: true

- name: Checkout repo
Expand All @@ -56,8 +58,6 @@ jobs:
sudo ./tools/setup/install-dependencies-debian.sh
python3 -m pip install --user ninja cmake
- uses: lukka/get-cmake@latest

- name: Install Vulkan
run: |
wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
Expand All @@ -79,8 +79,6 @@ jobs:
cd ccache-*-linux-x86_64
sudo make install
- uses: seanmiddleditch/gha-setup-ninja@v5

- name: Set Up Cache
uses: hendrikmuhs/[email protected]
with:
Expand All @@ -106,6 +104,65 @@ jobs:
# - name: Build GStreamer
# uses: ./.github/actions/gstreamer

- name: Install GStreamer
uses: blinemedical/setup-gstreamer@v1
with:
version: ${{ env.GST_VERSION }}
# gstreamerOptions: |
# --buildtype=release
# --wrap-mode=forcefallback
# --strip
# -Dauto_features=disabled
# -Dbase=enabled
# -Ddoc=disabled
# -Dexamples=disabled
# -Dges=disabled
# -Dgpl=enabled
# -Dgst-examples=disabled
# -Dgtk_doc=disabled
# -Dlibav=enabled
# -Dlibnice=disabled
# -Dnls=disabled
# -Dorc=enabled
# -Dpython=disabled
# -Dqt5=disabled
# -Drtsp_server=disabled
# -Dtests=disabled
# -Dgst-plugins-base:app=enabled
# -Dgst-plugins-base:gl=enabled
# -Dgst-plugins-base:gl_api=opengl,gles2
# -Dgst-plugins-base:gl_platform=glx,egl
# -Dgst-plugins-base:gl_winsys=x11,egl,wayland
# -Dgst-plugins-base:playback=enabled
# -Dgst-plugins-base:tcp=enabled
# -Dgst-plugins-base:x11=enabled
# -Dgood=enabled
# -Dgst-plugins-good:isomp4=enabled
# -Dgst-plugins-good:matroska=enabled
# -Dgst-plugins-good:qt-egl=enabled
# -Dgst-plugins-good:qt-method=auto
# -Dgst-plugins-good:qt-wayland=enabled
# -Dgst-plugins-good:qt-x11=enabled
# -Dgst-plugins-good:rtp=enabled
# -Dgst-plugins-good:rtpmanager=enabled
# -Dgst-plugins-good:rtsp=enabled
# -Dgst-plugins-good:udp=enabled
# -Dbad=enabled
# -Dgst-plugins-bad:gl=enabled
# -Dgst-plugins-bad:mpegtsdemux=enabled
# -Dgst-plugins-bad:rtp=enabled
# -Dgst-plugins-bad:sdp=enabled
# -Dgst-plugins-bad:videoparsers=enabled
# -Dgst-plugins-bad:wayland=enabled
# -Dgst-plugins-bad:x11=enabled
# -Dgst-plugins-bad:x265=enabled
# -Dugly=enabled
# -Dgst-plugins-ugly:x264=enabled

- uses: lukka/get-cmake@latest

- uses: seanmiddleditch/gha-setup-ninja@v5

- run: mkdir ${{ runner.temp }}/shadow_build_dir

- name: Configure
Expand Down Expand Up @@ -138,3 +195,4 @@ jobs:
aws_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
source: ''
github_token: ${{ secrets.GITHUB_TOKEN }}
6 changes: 4 additions & 2 deletions .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,7 +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:${{ env.PKG_CONFIG_PATH }}" >> "$GITHUB_ENV"
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/[email protected]
Expand Down Expand Up @@ -114,3 +115,4 @@ jobs:
aws_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
source: 'package'
github_token: ${{ secrets.GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,3 +140,4 @@ jobs:
aws_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
source: ''
github_token: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[submodule "src/GPS/Drivers"]
path = src/GPS/Drivers
path = libs/PX4-GPSDrivers
url = https://github.com/PX4/GpsDrivers.git
[submodule "libs/mavlink/include/mavlink/v2.0"]
path = libs/mavlink/include/mavlink/v2.0
Expand Down
26 changes: 15 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -110,10 +110,6 @@ endif()

set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)

if(CMAKE_BUILD_TYPE STREQUAL "Release")
add_compile_definitions(QGC_INSTALL_RELEASE)
endif()

#######################################################
# Qt6 Configuration
#######################################################
Expand Down Expand Up @@ -154,28 +150,26 @@ if(ANDROID)
message(STATUS "QT_ANDROID_KEYSTORE_ALIAS $ENV{QT_ANDROID_KEYSTORE_ALIAS}")
# QT_ANDROID_KEYSTORE_STORE_PASS, QT_ANDROID_KEYSTORE_KEY_PASS
endif()

if(NOT Qt6LinguistTools_DIR)
set(Qt6LinguistTools_DIR ${QT_HOST_PATH}/lib/cmake/Qt6LinguistTools)
endif()
endif()

set(QT_SILENCE_MISSING_DEPENDENCY_TARGET_WARNING ON)

find_package(Qt6
REQUIRED
COMPONENTS
Bluetooth
Charts
Concurrent
Core
Core5Compat
Location
Multimedia
Network
OpenGL
Positioning
Qml
QmlIntegration
Quick
QuickControls2
QuickWidgets
OpenGL
Sensors
Sql
Svg
Expand All @@ -184,6 +178,8 @@ find_package(Qt6
Widgets
Xml
OPTIONAL_COMPONENTS
Bluetooth
Charts
LinguistTools
MultimediaQuickPrivate
Quick3D
Expand All @@ -193,6 +189,10 @@ find_package(Qt6
${QT_LIBRARY_HINTS}
)

if(NOT Qt6LinguistTools_DIR)
set(Qt6LinguistTools_DIR ${QT_HOST_PATH}/lib/cmake/Qt6LinguistTools)
endif()

# Require 6.6.3 because otherwise libQt6QuickControls2Basic.so.6 &
# libQt6QuickControls2BasicStyleImpl.so.6 are missing.
qt_standard_project_setup(REQUIRES 6.6.3)
Expand Down Expand Up @@ -520,6 +520,10 @@ if(LINUX)
FILES ${CMAKE_BINARY_DIR}/metainfo/org.mavlink.qgroundcontrol.metainfo.xml
DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo/
)
install(
FILES ${CMAKE_SOURCE_DIR}/deploy/linux/AppRun
DESTINATION ${CMAKE_BINARY_DIR}
)
install(SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CreateAppImage.cmake")
elseif(WIN32)
install(SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CreateWinInstaller.cmake")
Expand Down
Loading

0 comments on commit 29bf3cf

Please sign in to comment.