diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -171,12 +171,18 @@ file(MAKE_DIRECTORY "${OBJ_DIR}") set(BUILD_HEADER "${OBJ_DIR}/build.h") add_custom_command( - OUTPUT "${BUILD_HEADER}" + OUTPUT + "${BUILD_HEADER}" + __always_build_header.h COMMAND "${CMAKE_SOURCE_DIR}/share/genbuild.sh" "${BUILD_HEADER}" "${CMAKE_SOURCE_DIR}" ) +# HACK: Ensure that build.h is always generated. +# Because the __always_build_header.h file doesn't exist, cmake will always try +# to generate it as it is a dependency for the ALL target below. +add_custom_target(always_build_header ALL DEPENDS __always_build_header.h) # Because the Bitcoin ABc source code is disorganised, we # end up with a bunch of libraries without any apparent @@ -207,9 +213,6 @@ utilstrencodings.cpp utiltime.cpp util/bytevectorhash.cpp - - # obj/build.h - ${BUILD_HEADER} ) target_compile_definitions(util PUBLIC HAVE_CONFIG_H HAVE_BUILD_INFO)