cmake: Require zip only for deploy target

This commit is contained in:
Hennadii Stepanov 2025-03-10 14:58:38 +00:00
parent f52377bc8d
commit b86eb5f45a
No known key found for this signature in database
GPG key ID: 410108112E7EA81F
2 changed files with 23 additions and 11 deletions

View file

@ -125,17 +125,29 @@ function(add_macos_deploy_target)
DEPENDS ${PROJECT_BINARY_DIR}/dist/${macos_app}/Contents/MacOS/Bitcoin-Qt DEPENDS ${PROJECT_BINARY_DIR}/dist/${macos_app}/Contents/MacOS/Bitcoin-Qt
) )
find_program(ZIP_COMMAND zip REQUIRED) 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( add_custom_command(
OUTPUT ${PROJECT_BINARY_DIR}/dist/${osx_volname}.zip OUTPUT ${PROJECT_BINARY_DIR}/dist/${osx_volname}.zip
WORKING_DIRECTORY dist WORKING_DIRECTORY dist
COMMAND ${PROJECT_SOURCE_DIR}/cmake/script/macos_zip.sh ${ZIP_COMMAND} ${osx_volname}.zip COMMAND ${PROJECT_SOURCE_DIR}/cmake/script/macos_zip.sh ${ZIP_EXECUTABLE} ${osx_volname}.zip
VERBATIM VERBATIM
) )
add_custom_target(deploy add_custom_target(deploy
DEPENDS ${PROJECT_BINARY_DIR}/dist/${osx_volname}.zip DEPENDS ${PROJECT_BINARY_DIR}/dist/${osx_volname}.zip
) )
endif() endif()
endif()
add_dependencies(deploydir bitcoin-qt) add_dependencies(deploydir bitcoin-qt)
add_dependencies(deploy deploydir) add_dependencies(deploy deploydir)
endif() endif()

View file

@ -141,7 +141,7 @@ brew install python
#### Deploy Dependencies #### Deploy Dependencies
You can [deploy](#3-deploy-optional) a `.zip` containing the Bitcoin Core application. 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 ## Building Bitcoin Core