From e2c21ba65cdb898d24c344a666c1464abfe8bce0 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Mon, 7 Apr 2025 15:20:17 +0100 Subject: [PATCH] cmake: Skip using git when building from source tarball or as subproject --- src/CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 88a52048cd8..249d056e85c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -79,7 +79,11 @@ if(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) endif() -find_package(Git QUIET) +set(IS_SOURCE_TARBALL FALSE) +# git will put "set(IS_SOURCE_TARBALL TRUE)" on the next line inside archives. $Format:%nset(IS_SOURCE_TARBALL TRUE)$ +if(NOT IS_SOURCE_TARBALL AND PROJECT_IS_TOP_LEVEL) + find_package(Git QUIET) +endif() add_custom_target(generate_build_info BYPRODUCTS ${PROJECT_BINARY_DIR}/src/bitcoin-build-info.h COMMAND ${CMAKE_COMMAND} -DGIT_EXECUTABLE=${GIT_EXECUTABLE} -DBUILD_INFO_HEADER_PATH=${PROJECT_BINARY_DIR}/src/bitcoin-build-info.h -DSOURCE_DIR=${PROJECT_SOURCE_DIR} -P ${PROJECT_SOURCE_DIR}/cmake/script/GenerateBuildInfo.cmake