diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,9 @@ "Select the configuration for the build" FORCE) endif() +# Find the python interpreter. This is required for several targets. +find_package(PythonInterp 3.4 REQUIRED) + # Add the magic targets `check` and `check-all` add_custom_target(check-all) add_custom_target(check) diff --git a/contrib/devtools/CMakeLists.txt b/contrib/devtools/CMakeLists.txt --- a/contrib/devtools/CMakeLists.txt +++ b/contrib/devtools/CMakeLists.txt @@ -2,11 +2,11 @@ add_custom_target(check-devtools) -set(DEVTOOLS_TESTS +set(DEVTOOLS_TESTS_PYTHON ./chainparams/test_make_chainparams.py ) -foreach(TEST ${DEVTOOLS_TESTS}) +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) @@ -14,6 +14,7 @@ WORKING_DIRECTORY ${WORKDIR} COMMAND + "${PYTHON_EXECUTABLE}" "./${TESTNAME}" ) add_dependencies(check-devtools "check-devtools-${TESTNAME}") diff --git a/src/bench/CMakeLists.txt b/src/bench/CMakeLists.txt --- a/src/bench/CMakeLists.txt +++ b/src/bench/CMakeLists.txt @@ -9,7 +9,6 @@ # Process raw files. file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/data") -find_program(PYTHON python3) foreach(_raw_file ${BENCH_DATA_RAW_FILES}) string(APPEND _generated_header_output @@ -21,8 +20,8 @@ add_custom_command( OUTPUT "${_generated_header_output}" - COMMAND "${PYTHON}" - ARGS + COMMAND + "${PYTHON_EXECUTABLE}" "data/convert-raw-to-header.py" "${_test_name}" "${_raw_file}" > "${_generated_header_output}" diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -5,7 +5,6 @@ # Process json files. file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/data") -find_program(PYTHON python3) function(gen_json_header NAME) set(HEADERS "") foreach(f ${ARGN}) @@ -14,8 +13,8 @@ # Get the proper name for the test variable. get_filename_component(TEST_NAME ${f} NAME_WE) add_custom_command(OUTPUT ${h} - COMMAND ${PYTHON} - ARGS + COMMAND + "${PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/data/generate_header.py" "${TEST_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/${f}" > ${h} diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -56,6 +56,7 @@ add_custom_target(check-functional COMMAND + "${PYTHON_EXECUTABLE}" ./functional/test_runner.py DEPENDS ../src/bitcoind @@ -71,6 +72,7 @@ COMMAND ${CMAKE_COMMAND} -E echo "Running test/util/bitcoin-util-test.py..." COMMAND + "${PYTHON_EXECUTABLE}" ./util/bitcoin-util-test.py DEPENDS ../src/bitcoin-tx @@ -84,6 +86,7 @@ COMMAND ${CMAKE_COMMAND} -E echo "Running test/util/rpcauth-test.py..." COMMAND + "${PYTHON_EXECUTABLE}" ./util/rpcauth-test.py DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/util/rpcauth-test.py