Fix CMake build of RockboxUtility and RockboxThemeEditor on macOS (part 1)
rockbox-gerrit-noreply--- via rockbox-cvs <[email protected]> Fri, 19 Jun 2026 21:02:52 -0400
| Newsgroups | gmane.comp.systems.archos.rockbox.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit 2e126ee3ba10984b7c869fb1aea34fd262802744 Author: Vencislav Atanasov <[email protected]> Date: Sat Jun 20 00:20:57 2026 +0300 Fix CMake build of RockboxUtility and RockboxThemeEditor on macOS (part 1) Create a new target dmgbuild_venv which is added as a dependency of both RockboxUtility and RockboxThemeEditor so CMake understands that it's a shared dependency. Co-authored-by: Qwen3.7-Plus Change-Id: I417de25356885574546a7ae2a53ddbd44f6be557 diff --git a/utils/cmake/deploy.cmake b/utils/cmake/deploy.cmake index 252aba0636..fb78eaae98 100644 --- a/utils/cmake/deploy.cmake +++ b/utils/cmake/deploy.cmake @@ -94,6 +94,15 @@ endif() # MacOS: Build dmg if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set(DMGBUILD_STAMP ${CMAKE_BINARY_DIR}/dmgbuild.stamp) + add_custom_command( + COMMENT "Setting up dmgbuild virtualenv" + OUTPUT ${DMGBUILD_STAMP} + COMMAND python3 -m venv ${CMAKE_BINARY_DIR}/venv + COMMAND ${CMAKE_BINARY_DIR}/venv/bin/python -m pip install -q dmgbuild + ) + add_custom_target(dmgbuild_venv DEPENDS ${DMGBUILD_STAMP}) + function(deploy_qt) cmake_parse_arguments(deploy "" "TARGET;DESKTOPFILE;ICONFILE;QTBINDIR;DMGBUILDCFG" @@ -103,11 +112,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") message(WARNING "Deploying a Debug build.") endif() set(DMGBUILD ${CMAKE_BINARY_DIR}/venv/bin/python3 -m dmgbuild) - set(DMGBUILD_STAMP ${CMAKE_BINARY_DIR}/dmgbuild.stamp) find_program(MACDEPLOYQT_EXECUTABLE macdeployqt HINTS "${QTBINDIR}") # need extra rules so we can use generator expressions - # (using get_target_property() doesn't know neede values during generation) + # (using get_target_property() doesn't know needed values during generation) set(_deploy_deps "") foreach(_deploy_exe_tgt ${deploy_EXECUTABLES}) add_custom_command( @@ -118,20 +126,13 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") $<TARGET_BUNDLE_CONTENT_DIR:${deploy_TARGET}>/bin COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${_deploy_exe_tgt}.app.stamp DEPENDS ${_deploy_exe_tgt} - ) + ) add_custom_target(deploy_${deploy_TARGET}_${_deploy_exe_tgt} DEPENDS ${CMAKE_BINARY_DIR}/${_deploy_exe_tgt}.app.stamp) set(_deploy_deps "${_deploy_deps};deploy_${deploy_TARGET}_${_deploy_exe_tgt}") endforeach() - add_custom_command( - COMMENT "Setting up dmgbuild virtualenv" - OUTPUT ${DMGBUILD_STAMP} - COMMAND python3 -m venv ${CMAKE_BINARY_DIR}/venv - COMMAND ${CMAKE_BINARY_DIR}/venv/bin/python -m pip install -q dmgbuild - ) - add_custom_command( # TODO: find a better way to figure the app bundle name. OUTPUT ${CMAKE_BINARY_DIR}/${deploy_TARGET}.dmg @@ -141,9 +142,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") -Dappbundle=${deploy_TARGET}.app ${deploy_TARGET} ${CMAKE_BINARY_DIR}/${deploy_TARGET}.dmg DEPENDS ${deploy_TARGET} - ${DMGBUILD_STAMP} + dmgbuild_venv ${_deploy_deps} - ) + ) add_custom_target(deploy_${deploy_TARGET} DEPENDS ${CMAKE_BINARY_DIR}/${deploy_TARGET}.dmg) add_dependencies(deploy deploy_${deploy_TARGET}) -- rockbox-cvs mailing list [email protected] https://lists.haxx.se/mailman/listinfo/rockbox-cvs