From b86eb5f45a6df456d6aa80d62dd5b720ecfe917c Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Mon, 10 Mar 2025 14:58:38 +0000 Subject: [PATCH] cmake: Require `zip` only for `deploy` target --- cmake/module/Maintenance.cmake | 32 ++++++++++++++++++++++---------- doc/build-osx.md | 2 +- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/cmake/module/Maintenance.cmake b/cmake/module/Maintenance.cmake index 6ec326be958..4076954506e 100644 --- a/cmake/module/Maintenance.cmake +++ b/cmake/module/Maintenance.cmake @@ -125,16 +125,28 @@ function(add_macos_deploy_target) DEPENDS ${PROJECT_BINARY_DIR}/dist/${macos_app}/Contents/MacOS/Bitcoin-Qt ) - find_program(ZIP_COMMAND zip REQUIRED) - add_custom_command( - OUTPUT ${PROJECT_BINARY_DIR}/dist/${osx_volname}.zip - WORKING_DIRECTORY dist - COMMAND ${PROJECT_SOURCE_DIR}/cmake/script/macos_zip.sh ${ZIP_COMMAND} ${osx_volname}.zip - VERBATIM - ) - add_custom_target(deploy - DEPENDS ${PROJECT_BINARY_DIR}/dist/${osx_volname}.zip - ) + find_program(ZIP_EXECUTABLE zip) + if(NOT ZIP_EXECUTABLE) + add_custom_target(deploy + COMMAND ${CMAKE_COMMAND} -E echo + COMMAND ${CMAKE_COMMAND} -E echo "Error: ZIP not found." + COMMAND ${CMAKE_COMMAND} -E echo "Please install ZIP and/or ensure that its executable is accessible to the find_program() command—" + COMMAND ${CMAKE_COMMAND} -E echo "for example, by setting the ZIP_EXECUTABLE variable or another relevant CMake variable." + COMMAND ${CMAKE_COMMAND} -E echo "Then re-run cmake to regenerate the build system." + COMMAND ${CMAKE_COMMAND} -E echo + VERBATIM + ) + else() + add_custom_command( + OUTPUT ${PROJECT_BINARY_DIR}/dist/${osx_volname}.zip + WORKING_DIRECTORY dist + COMMAND ${PROJECT_SOURCE_DIR}/cmake/script/macos_zip.sh ${ZIP_EXECUTABLE} ${osx_volname}.zip + VERBATIM + ) + add_custom_target(deploy + DEPENDS ${PROJECT_BINARY_DIR}/dist/${osx_volname}.zip + ) + endif() endif() add_dependencies(deploydir bitcoin-qt) add_dependencies(deploy deploydir) diff --git a/doc/build-osx.md b/doc/build-osx.md index 4c774550574..369d66c49cd 100644 --- a/doc/build-osx.md +++ b/doc/build-osx.md @@ -141,7 +141,7 @@ brew install python #### Deploy Dependencies You can [deploy](#3-deploy-optional) a `.zip` containing the Bitcoin Core application. -It is required that you have `python` installed. +It is required that you have `python` and `zip` installed. ## Building Bitcoin Core