From 512b96c884e819108dd2c8374c352baa25a42c03 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Tue, 9 Apr 2024 12:29:24 -0700 Subject: [PATCH 01/11] Add DMG creation --- CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8772cdbdd3f..07bba4c1fac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -309,3 +309,11 @@ if(LINUX) ) install(SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CreateAppImage.cmake") endif() +if (MACOS) + install(CODE "file(MAKE_DIRECTORY package)") + install(CODE "execute_process(COMMAND rsync -a --delete QGroundControl.app package)") + install(CODE "file(REMOVE /tmp/tmp.dmg QGroundControl.dmg)") + install(CODE "execute_process(COMMAND hdiutil create /tmp/tmp.dmg -ov -volname QGroundControl -fs HFS+ -srcfolder package)") + install(CODE "execute_process(COMMAND hdiutil convert /tmp/tmp.dmg -format UDBZ -o QGroundControl.dmg)") + install(CODE "file(REMOVE /tmp/tmp.dmg)") +endif() From 53986ba296785870ac3ef62a09e7fe9f6ee3232a Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Tue, 9 Apr 2024 12:30:37 -0700 Subject: [PATCH 02/11] Switch to cmake in CI --- .github/workflows/macos.yml | 91 +++++++++++++++++++++++++++++ .github/workflows/macos_release.yml | 88 ---------------------------- 2 files changed, 91 insertions(+), 88 deletions(-) create mode 100644 .github/workflows/macos.yml delete mode 100644 .github/workflows/macos_release.yml diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml new file mode 100644 index 00000000000..3872a993e43 --- /dev/null +++ b/.github/workflows/macos.yml @@ -0,0 +1,91 @@ +name: MacOS Build + +on: + push: + branches: + - master + - 'Stable*' + tags: + - 'v*' + paths-ignore: + - 'docs/**' + - 'android/**' + pull_request: + paths-ignore: + - 'docs/**' + - 'android/**' + +defaults: + run: + shell: bash + +jobs: + build: + runs-on: macos-latest + + strategy: + matrix: + BuildType: [Debug, Release] + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + with: + submodules: recursive + fetch-tags: true + + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + create-symlink: true + key: ${{ runner.os }}-Debug + restore-keys: ${{ runner.os }}-Debug + max-size: 2G + append-timestamp: false + + - name: Install Qt + uses: jurplel/install-qt-action@v3 + with: + version: 6.6.3 + aqtversion: ==3.1.* + host: mac + target: desktop + dir: ${{ runner.temp }} + modules: qtcharts qtlocation qtpositioning qtspeech qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d + setup-python: false + cache: true + + - name: Install Dependencies + run: | + brew update + brew install ninja + + - name: Setup GStreamer + uses: blinemedical/setup-gstreamer@v1 + with: + version: 1.18.6 + + - name: Create build directory + run: mkdir ${{ runner.temp }}/shadow_build_dir + + - name: Configure + working-directory: ${{ runner.temp }}/shadow_build_dir + run: cmake -S ${{ github.workspace }} -B . -G Ninja \ + -DCMAKE_BUILD_TYPE=${{ matrix.BuildType }} \ + -DQGC_STABLE_BUILD=${{ github.ref_type == 'tag' || contains(github.ref, 'Stable') && 'ON' || 'OFF' }} + + - name: Build + working-directory: ${{ runner.temp }}/shadow_build_dir + run: cmake --build . --target all --config ${{ matrix.BuildType }} + + - name: Create DMG + working-directory: ${{ runner.temp }}/shadow_build_dir + run: cmake --install . + + - name: Upload Build File + uses: ./.github/actions/upload + if: matrix.BuildType == 'Release' + with: + artifact_name: QGroundControl.dmg + aws_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/macos_release.yml b/.github/workflows/macos_release.yml deleted file mode 100644 index bf9d1b669ea..00000000000 --- a/.github/workflows/macos_release.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: MacOS Release - -on: - push: - branches: - - 'master' - - 'Stable*' - tags: - - 'v*' - paths-ignore: - - 'docs/**' - pull_request: - branches: - - '*' - paths-ignore: - - 'docs/**' - -defaults: - run: - shell: bash - -env: - SOURCE_DIR: ${{ github.workspace }} - QT_VERSION: 6.6.* - ARTIFACT: QGroundControl.dmg - BUILD_TYPE: ${{ fromJSON('["DailyBuild", "StableBuild"]')[ github.ref_type == 'tag' || contains(github.ref, 'Stable_' ) ] }} - -jobs: - build: - runs-on: macos-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - create-symlink: true - key: ${{ runner.os }}-Release - restore-keys: ${{ runner.os }}-Release - max-size: "2G" - append-timestamp: false - if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' - - - name: Get all tags for correct version determination - working-directory: ${{ github.workspace }} - run: | - git fetch --all --tags -f --depth 1 - - - name: Install Qt - uses: jurplel/install-qt-action@v3 - with: - version: ${{ env.QT_VERSION }} - aqtversion: ==3.1.* - host: mac - target: desktop - dir: ${{ runner.temp }} - modules: qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d - setup-python: false - cache: true - - - name: Install Gstreamer - run: | - wget https://gstreamer.freedesktop.org/data/pkg/osx/1.18.6/gstreamer-1.0-devel-1.18.6-x86_64.pkg - wget https://gstreamer.freedesktop.org/data/pkg/osx/1.18.6/gstreamer-1.0-1.18.6-x86_64.pkg - for package in *.pkg ; - do sudo installer -verbose -pkg "$package" -target / - done - - - name: Create build directory - run: mkdir ${{ runner.temp }}/shadow_build_dir - - - name: Build - working-directory: ${{ runner.temp }}/shadow_build_dir - run: | - export JOBS=$((`sysctl -n hw.ncpu`+1)) - qmake -r ${SOURCE_DIR}/qgroundcontrol.pro CONFIG+=installer CONFIG+=${BUILD_TYPE} - make -j$JOBS - - - name: Upload Build File - uses: ./.github/actions/upload - with: - artifact_name: ${{ env.ARTIFACT }} - aws_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} From a826aa045a476f03800a191cc280b764ac6f8f2d Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Tue, 9 Apr 2024 15:14:06 -0700 Subject: [PATCH 03/11] Add qt5compat --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 3872a993e43..c12af974ec0 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -51,7 +51,7 @@ jobs: host: mac target: desktop dir: ${{ runner.temp }} - modules: qtcharts qtlocation qtpositioning qtspeech qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d + modules: qtcharts qtlocation qtpositioning qtspeech qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d qt5compat setup-python: false cache: true From c390af5210db0a0dacfca16eccb08c2d0d2a620d Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 10 Apr 2024 07:39:27 -0700 Subject: [PATCH 04/11] More changes --- .github/workflows/macos.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index c12af974ec0..52a0852f35c 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -37,10 +37,10 @@ jobs: - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: - create-symlink: true - key: ${{ runner.os }}-Debug - restore-keys: ${{ runner.os }}-Debug - max-size: 2G + create-symlink: true + key: ${{ runner.os }}-${{ matrix.BuildType }} + restore-keys: ${{ runner.os }}-${{ matrix.BuildType }} + max-size: 2G append-timestamp: false - name: Install Qt From 8f119d50556a95b2d000644e8f24b4f0f7106b21 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 10 Apr 2024 08:36:53 -0700 Subject: [PATCH 05/11] More fixes --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 07bba4c1fac..884492c81d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -312,8 +312,8 @@ endif() if (MACOS) install(CODE "file(MAKE_DIRECTORY package)") install(CODE "execute_process(COMMAND rsync -a --delete QGroundControl.app package)") - install(CODE "file(REMOVE /tmp/tmp.dmg QGroundControl.dmg)") + install(CODE "file(REMOVE /tmp/tmp.dmg package/QGroundControl.dmg)") install(CODE "execute_process(COMMAND hdiutil create /tmp/tmp.dmg -ov -volname QGroundControl -fs HFS+ -srcfolder package)") - install(CODE "execute_process(COMMAND hdiutil convert /tmp/tmp.dmg -format UDBZ -o QGroundControl.dmg)") + install(CODE "execute_process(COMMAND hdiutil convert /tmp/tmp.dmg -format UDBZ -o package/QGroundControl.dmg)") install(CODE "file(REMOVE /tmp/tmp.dmg)") endif() From d3dafb79a2caa5e5e94fdd44cd78b886e026f1c2 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 10 Apr 2024 09:54:18 -0700 Subject: [PATCH 06/11] More --- .github/workflows/macos_debug.yml | 84 ------------------------------- CMakeLists.txt | 2 + 2 files changed, 2 insertions(+), 84 deletions(-) delete mode 100644 .github/workflows/macos_debug.yml diff --git a/.github/workflows/macos_debug.yml b/.github/workflows/macos_debug.yml deleted file mode 100644 index c6afebba2e2..00000000000 --- a/.github/workflows/macos_debug.yml +++ /dev/null @@ -1,84 +0,0 @@ -name: MacOS Debug and Tests - -on: - push: - branches: - - 'master' - - 'Stable*' - tags: - - 'v*' - paths-ignore: - - 'docs/**' - pull_request: - branches: - - '*' - paths-ignore: - - 'docs/**' - -defaults: - run: - shell: bash - -env: - SOURCE_DIR: ${{ github.workspace }} - QT_VERSION: 6.6.* - ARTIFACT: QGroundControl.dmg - BUILD_TYPE: ${{ fromJSON('["DailyBuild", "StableBuild"]')[ github.ref_type == 'tag' || contains(github.ref, 'Stable_' ) ] }} - -jobs: - build: - runs-on: macos-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - create-symlink: true - key: ${{ runner.os }}-Debug - restore-keys: ${{ runner.os }}-Debug - max-size: "2G" - append-timestamp: false - - - name: Get all tags for correct version determination - working-directory: ${{ github.workspace }} - run: | - git fetch --all --tags -f --depth 1 - - - name: Install Qt - uses: jurplel/install-qt-action@v3 - with: - version: ${{ env.QT_VERSION }} - aqtversion: ==3.1.* - host: mac - target: desktop - dir: ${{ runner.temp }} - modules: qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d - setup-python: false - cache: true - - - name: Install Dependencies - run: brew install ninja SDL2 - - - name: Setup GStreamer - uses: blinemedical/setup-gstreamer@v1 - with: - version: 1.18.6 - - - name: Create build directory - run: mkdir ${{ runner.temp }}/shadow_build_dir - - - name: Build - working-directory: ${{ runner.temp }}/shadow_build_dir - run: | - cmake -S ${{ env.SOURCE_DIR }} -B ${{ runner.temp }}/shadow_build_dir/ -G Ninja -DCMAKE_BUILD_TYPE=Debug - cmake --build ${{ runner.temp }}/shadow_build_dir/ --target all --config Debug - cmake --install ${{ runner.temp }}/shadow_build_dir - - # - name: Run unit tests - # working-directory: ${{ runner.temp }}/shadow_build_dir - # run: open ${{ runner.temp }}/shadow_build_dir/staging/QGroundControl.app --args --unittest diff --git a/CMakeLists.txt b/CMakeLists.txt index 884492c81d9..55bf5d427c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -310,6 +310,8 @@ if(LINUX) install(SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CreateAppImage.cmake") endif() if (MACOS) + install(CODE "execute_process(COMMAND rsync -a --delete ${CMAKE_SOURCE_DIR}/libs/Frameworks/SDL2.framework QGroundControl.app/Contents/Frameworks)") + install(CODE "execute_process(COMMAND install_name_tool -change @rpath/SDL2.framework/Versions/A/SDL2 @executable_path/../Frameworks/SDL2.framework/Versions/A/SDL2 QGroundControl.app/Contents/MacOS/QGroundControl)") install(CODE "file(MAKE_DIRECTORY package)") install(CODE "execute_process(COMMAND rsync -a --delete QGroundControl.app package)") install(CODE "file(REMOVE /tmp/tmp.dmg package/QGroundControl.dmg)") From f50c579ac9d4d05559af7a6a584734c328581c56 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 10 Apr 2024 10:19:03 -0700 Subject: [PATCH 07/11] More --- .github/workflows/macos.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 52a0852f35c..26c2775ccab 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -60,11 +60,14 @@ jobs: brew update brew install ninja - - name: Setup GStreamer - uses: blinemedical/setup-gstreamer@v1 - with: - version: 1.18.6 - + - name: Install Gstreamer + run: | + wget https://gstreamer.freedesktop.org/data/pkg/osx/1.18.6/gstreamer-1.0-devel-1.18.6-x86_64.pkg + wget https://gstreamer.freedesktop.org/data/pkg/osx/1.18.6/gstreamer-1.0-1.18.6-x86_64.pkg + for package in *.pkg ; + do sudo installer -verbose -pkg "$package" -target / + done + - name: Create build directory run: mkdir ${{ runner.temp }}/shadow_build_dir From 8a43fec3c667895ed5cec1889dce4fa22b0fdbd4 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 10 Apr 2024 11:07:18 -0700 Subject: [PATCH 08/11] More --- CMakeLists.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 55bf5d427c5..7beb740d031 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -310,8 +310,11 @@ if(LINUX) install(SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CreateAppImage.cmake") endif() if (MACOS) - install(CODE "execute_process(COMMAND rsync -a --delete ${CMAKE_SOURCE_DIR}/libs/Frameworks/SDL2.framework QGroundControl.app/Contents/Frameworks)") - install(CODE "execute_process(COMMAND install_name_tool -change @rpath/SDL2.framework/Versions/A/SDL2 @executable_path/../Frameworks/SDL2.framework/Versions/A/SDL2 QGroundControl.app/Contents/MacOS/QGroundControl)") + install(CODE "execute_process(COMMAND rsync -a --delete /Library/Frameworks/GStreamer.framework QGroundControl.app/Contents/Frameworks)") + install(CODE "execute_process(COMMAND ln -sf QGroundControl.app/Contents/Frameworks $${TARGET}.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/Frameworks)") + install(CODE "execute_process(COMMAND install_name_tool -change /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer @executable_path/../Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer QGroundControl.app/Contents/MacOS/QGroundControl)") + install(CODE "execute_process(COMMAND rm -rf QGroundControl.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/{bin,etc,share,Headers,include,Commands})") + install(CODE "execute_process(COMMAND rm -rf QGroundControl.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/{*.a,*.la,glib-2.0,gst-validate-launcher,pkgconfig})") install(CODE "file(MAKE_DIRECTORY package)") install(CODE "execute_process(COMMAND rsync -a --delete QGroundControl.app package)") install(CODE "file(REMOVE /tmp/tmp.dmg package/QGroundControl.dmg)") From 762fc40e829263c143465a68a94249ccc26ebc96 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Thu, 11 Apr 2024 07:35:06 -0700 Subject: [PATCH 09/11] More --- .github/workflows/macos.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 26c2775ccab..465c5747439 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -72,10 +72,8 @@ jobs: run: mkdir ${{ runner.temp }}/shadow_build_dir - name: Configure - working-directory: ${{ runner.temp }}/shadow_build_dir - run: cmake -S ${{ github.workspace }} -B . -G Ninja \ - -DCMAKE_BUILD_TYPE=${{ matrix.BuildType }} \ - -DQGC_STABLE_BUILD=${{ github.ref_type == 'tag' || contains(github.ref, 'Stable') && 'ON' || 'OFF' }} + working-directory: ${{ runner.temp }}/shadow_build_dir + run: cmake -S ${{ github.workspace }} -B . -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.BuildType }} -DQGC_STABLE_BUILD=${{ github.ref_type == 'tag' || contains(github.ref, 'Stable') && 'ON' || 'OFF' }} - name: Build working-directory: ${{ runner.temp }}/shadow_build_dir @@ -83,7 +81,8 @@ jobs: - name: Create DMG working-directory: ${{ runner.temp }}/shadow_build_dir - run: cmake --install . + run: cmake --install . --config ${{ matrix.BuildType }} + if: matrix.BuildType == 'Release' - name: Upload Build File uses: ./.github/actions/upload From bf8096369a1df0e248b0d43d42f006724ba3227e Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Thu, 11 Apr 2024 10:51:52 -0700 Subject: [PATCH 10/11] Fix --- CMakeLists.txt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7beb740d031..cb85ad12b95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -310,15 +310,14 @@ if(LINUX) install(SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CreateAppImage.cmake") endif() if (MACOS) - install(CODE "execute_process(COMMAND rsync -a --delete /Library/Frameworks/GStreamer.framework QGroundControl.app/Contents/Frameworks)") - install(CODE "execute_process(COMMAND ln -sf QGroundControl.app/Contents/Frameworks $${TARGET}.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/Frameworks)") - install(CODE "execute_process(COMMAND install_name_tool -change /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer @executable_path/../Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer QGroundControl.app/Contents/MacOS/QGroundControl)") - install(CODE "execute_process(COMMAND rm -rf QGroundControl.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/{bin,etc,share,Headers,include,Commands})") - install(CODE "execute_process(COMMAND rm -rf QGroundControl.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/{*.a,*.la,glib-2.0,gst-validate-launcher,pkgconfig})") - install(CODE "file(MAKE_DIRECTORY package)") + install(CODE "execute_process(COMMAND rsync -a --delete /Library/Frameworks/GStreamer.framework staging/QGroundControl.app/Contents/Frameworks)") + install(CODE "execute_process(COMMAND ln -sf staging/QGroundControl.app/Contents/Frameworks QGroundControl.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/Frameworks)") + install(CODE "execute_process(COMMAND install_name_tool -change /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer @executable_path/../Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer staging/QGroundControl.app/Contents/MacOS/QGroundControl)") + install(CODE "execute_process(COMMAND rm -rf staging/QGroundControl.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/{bin,etc,share,Headers,include,Commands})") + install(CODE "execute_process(COMMAND rm -rf staging/QGroundControl.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/{*.a,*.la,glib-2.0,gst-validate-launcher,pkgconfig})") install(CODE "execute_process(COMMAND rsync -a --delete QGroundControl.app package)") install(CODE "file(REMOVE /tmp/tmp.dmg package/QGroundControl.dmg)") - install(CODE "execute_process(COMMAND hdiutil create /tmp/tmp.dmg -ov -volname QGroundControl -fs HFS+ -srcfolder package)") + install(CODE "execute_process(COMMAND hdiutil create /tmp/tmp.dmg -ov -volname QGroundControl -fs HFS+ -srcfolder staging)") install(CODE "execute_process(COMMAND hdiutil convert /tmp/tmp.dmg -format UDBZ -o package/QGroundControl.dmg)") install(CODE "file(REMOVE /tmp/tmp.dmg)") endif() From 4558b6c9265bc1abb5a6f53fa30651b8f41c6f9d Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Fri, 12 Apr 2024 09:27:11 -0700 Subject: [PATCH 11/11] More --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cb85ad12b95..e4b3fd1f2c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -311,7 +311,7 @@ if(LINUX) endif() if (MACOS) install(CODE "execute_process(COMMAND rsync -a --delete /Library/Frameworks/GStreamer.framework staging/QGroundControl.app/Contents/Frameworks)") - install(CODE "execute_process(COMMAND ln -sf staging/QGroundControl.app/Contents/Frameworks QGroundControl.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/Frameworks)") + install(CODE "execute_process(COMMAND ln -sf staging/QGroundControl.app/Contents/Frameworks staging/QGroundControl.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/Frameworks)") install(CODE "execute_process(COMMAND install_name_tool -change /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer @executable_path/../Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer staging/QGroundControl.app/Contents/MacOS/QGroundControl)") install(CODE "execute_process(COMMAND rm -rf staging/QGroundControl.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/{bin,etc,share,Headers,include,Commands})") install(CODE "execute_process(COMMAND rm -rf staging/QGroundControl.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/{*.a,*.la,glib-2.0,gst-validate-launcher,pkgconfig})")