diff --git a/contrib/devtools/CMakeLists.txt b/contrib/devtools/CMakeLists.txt index 1626213a4d..762c295485 100644 --- a/contrib/devtools/CMakeLists.txt +++ b/contrib/devtools/CMakeLists.txt @@ -1,38 +1,61 @@ # Copyright (c) 2019 The Bitcoin developers +set(SPLIT_DEBUG_SCRIPT_TMP "tmp/split-debug.sh") +configure_file( + "split-debug.sh.cmake.in" + "${SPLIT_DEBUG_SCRIPT_TMP}" +) + +# Make the script executable by copying to the current build directory +file(COPY + "${CMAKE_CURRENT_BINARY_DIR}/${SPLIT_DEBUG_SCRIPT_TMP}" + DESTINATION + "${CMAKE_CURRENT_BINARY_DIR}" + FILE_PERMISSIONS + OWNER_READ + OWNER_WRITE + OWNER_EXECUTE + GROUP_READ + GROUP_WRITE + GROUP_EXECUTE + WORLD_READ + WORLD_WRITE + WORLD_EXECUTE +) + add_custom_target(check-devtools) set(DEVTOOLS_TESTS_PYTHON ./chainparams/test_make_chainparams.py ) foreach(TEST ${DEVTOOLS_TESTS_PYTHON}) get_filename_component(TESTNAME ${TEST} NAME) get_filename_component(TESTPATH ${TEST} ABSOLUTE ${CMAKE_CURRENT_SOURCE_DIR}) get_filename_component(WORKDIR ${TESTPATH} DIRECTORY) add_custom_target("check-devtools-${TESTNAME}" WORKING_DIRECTORY ${WORKDIR} COMMAND "${PYTHON_EXECUTABLE}" "./${TESTNAME}" ) add_dependencies(check-devtools "check-devtools-${TESTNAME}") endforeach() add_dependencies(check check-devtools) add_dependencies(check-all check-devtools) include(PackageHelper) exclude_from_source_package( # Files "bitcoind-exit-on-log.sh" "circular-dependencies.py" "copyright_header.py" "extract_strings_qt.py" "gitian-build.py" "optimize-pngs.py" "README.md" "test-security-check.py" "update-translations.py" ) diff --git a/contrib/devtools/split-debug.sh.cmake.in b/contrib/devtools/split-debug.sh.cmake.in new file mode 100644 index 0000000000..1452f59723 --- /dev/null +++ b/contrib/devtools/split-debug.sh.cmake.in @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +export LC_ALL=C + +if [ $# -ne 3 ]; + then echo "usage: $0 " +fi + +${CMAKE_OBJCOPY} --enable-deterministic-archives -p --only-keep-debug $1 $3 +${CMAKE_OBJCOPY} --enable-deterministic-archives -p --strip-debug $1 $2 +${CMAKE_STRIP} --enable-deterministic-archives -p -s $2 +${CMAKE_OBJCOPY} --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2 diff --git a/contrib/devtools/split-debug.sh.in b/contrib/devtools/split-debug.sh.in index deda49cc54..a6ca667c9e 100644 --- a/contrib/devtools/split-debug.sh.in +++ b/contrib/devtools/split-debug.sh.in @@ -1,10 +1,12 @@ -#!/bin/sh +#!/usr/bin/env bash + +export LC_ALL=C if [ $# -ne 3 ]; then echo "usage: $0 " fi @OBJCOPY@ --enable-deterministic-archives -p --only-keep-debug $1 $3 @OBJCOPY@ --enable-deterministic-archives -p --strip-debug $1 $2 @STRIP@ --enable-deterministic-archives -p -s $2 @OBJCOPY@ --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2