From 6a07dc58f174110c85b1aa73bbb049d6e6191385 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Mon, 15 Sep 2025 10:13:14 -0700 Subject: [PATCH 1/3] Tweaks to create-dmg checks/usage --- cmake/CreateMacDMG.cmake | 2 +- cmake/Install.cmake | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cmake/CreateMacDMG.cmake b/cmake/CreateMacDMG.cmake index a1007da3a796..e195482237cf 100644 --- a/cmake/CreateMacDMG.cmake +++ b/cmake/CreateMacDMG.cmake @@ -13,6 +13,6 @@ file(COPY ${STAGING_BUNDLE_PATH} DESTINATION ${CMAKE_BINARY_DIR}/package) message(STATUS "Creating DMG: ${TARGET_APP_NAME}.dmg") execute_process( - COMMAND create-dmg --volname "${TARGET_APP_NAME}" --filesystem "APFS" "${TARGET_APP_NAME}.dmg" "${CMAKE_BINARY_DIR}/package/" + COMMAND ${CREATE_DMG_PROGRAM} --volname "${TARGET_APP_NAME}" --filesystem "APFS" "${TARGET_APP_NAME}.dmg" "${CMAKE_BINARY_DIR}/package/" COMMAND_ERROR_IS_FATAL ANY ) diff --git a/cmake/Install.cmake b/cmake/Install.cmake index d28dceb610d1..b90cf9b73475 100644 --- a/cmake/Install.cmake +++ b/cmake/Install.cmake @@ -76,6 +76,11 @@ elseif(WIN32) install(SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CreateWinInstaller.cmake") elseif(MACOS) install(CODE "set(TARGET_APP_NAME ${QGC_APP_NAME})") + find_program(CREATE_DMG_PROGRAM create-dmg) + if(NOT CREATE_DMG_PROGRAM) + message(FATAL_ERROR "create-dmg not found. Please install it using `sh qgroundcontrol/tools/setup/install-dependencies-osx.sh`") + endif() + install(CODE "set(CREATE_DMG_PROGRAM \"${CREATE_DMG_PROGRAM}\")") install(CODE "set(MACDEPLOYQT ${Qt6_DIR}/../../../bin/macdeployqt)") install(SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CreateMacDMG.cmake") endif() From bb57f54ad315dbebc0fbceea5d2bff9a3ea46702 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Mon, 15 Sep 2025 10:13:29 -0700 Subject: [PATCH 2/3] Update to new osx dependency script name --- docs/en/qgc-dev-guide/getting_started/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/qgc-dev-guide/getting_started/index.md b/docs/en/qgc-dev-guide/getting_started/index.md index f30fa5d05d1b..70b6cbb89e33 100644 --- a/docs/en/qgc-dev-guide/getting_started/index.md +++ b/docs/en/qgc-dev-guide/getting_started/index.md @@ -88,7 +88,7 @@ To install Qt: - **Ubuntu:** `sudo bash ./qgroundcontrol/tools/setup/install-dependencies-debian.sh` - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` - - **Mac** `sh qgroundcontrol/tools/setup/macos-dependencies.sh` + - **Mac** `sh qgroundcontrol/tools/setup/install-dependencies-osx.sh` - **Android** [Setup](https://doc.qt.io/qt-6/android-getting-started.html). JDK17 is required for the latest updated versions. NDK Version: 25.1.8937393 You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. Note: Visit here for more detailed configurations [android.yml](.github/workflows/android.yml) From 82538b4922c612546b79d1884d8ee4e7c425bec8 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Mon, 15 Sep 2025 11:16:17 -0700 Subject: [PATCH 3/3] Don't use latest XCode It includes a change to AGL framework which causes QGC + Qt 6.8 to no longer build --- .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 f5d680fc79df..62bd1607f93b 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -57,7 +57,7 @@ jobs: - name: Setup Xcode uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: latest-stable + xcode-version: '<=16.x' - name: Install Dependencies (include GStreamer) working-directory: ${{ github.workspace }}/tools/setup