CMake: Use FindPython instead of FindPythonInterp to build CMake itself
Fixes: #23444
This commit is contained in:
parent
b6a6190877
commit
313ea361b0
@ -76,7 +76,7 @@ function(add_RunCMake_test_group test types)
|
|||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# Some tests use python for extra checks.
|
# Some tests use python for extra checks.
|
||||||
find_package(PythonInterp QUIET)
|
find_package(Python QUIET)
|
||||||
|
|
||||||
if(XCODE_VERSION AND "${XCODE_VERSION}" VERSION_LESS 6.1)
|
if(XCODE_VERSION AND "${XCODE_VERSION}" VERSION_LESS 6.1)
|
||||||
set(Swift_ARGS -DXCODE_BELOW_6_1=1)
|
set(Swift_ARGS -DXCODE_BELOW_6_1=1)
|
||||||
@ -302,7 +302,7 @@ add_RunCMake_test(ExcludeFromAll)
|
|||||||
add_RunCMake_test(ExternalData)
|
add_RunCMake_test(ExternalData)
|
||||||
add_RunCMake_test(FeatureSummary)
|
add_RunCMake_test(FeatureSummary)
|
||||||
add_RunCMake_test(FPHSA)
|
add_RunCMake_test(FPHSA)
|
||||||
add_RunCMake_test(FileAPI -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
add_RunCMake_test(FileAPI -DPython_EXECUTABLE=${Python_EXECUTABLE}
|
||||||
-DCMAKE_CXX_COMPILER_ID=${CMAKE_CXX_COMPILER_ID})
|
-DCMAKE_CXX_COMPILER_ID=${CMAKE_CXX_COMPILER_ID})
|
||||||
add_RunCMake_test(FindBoost)
|
add_RunCMake_test(FindBoost)
|
||||||
add_RunCMake_test(FindLua)
|
add_RunCMake_test(FindLua)
|
||||||
@ -400,7 +400,7 @@ add_RunCMake_test(build_command)
|
|||||||
add_executable(exit_code exit_code.c)
|
add_executable(exit_code exit_code.c)
|
||||||
set(execute_process_ARGS
|
set(execute_process_ARGS
|
||||||
-DEXIT_CODE_EXE=$<TARGET_FILE:exit_code>
|
-DEXIT_CODE_EXE=$<TARGET_FILE:exit_code>
|
||||||
-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
-DPython_EXECUTABLE=${Python_EXECUTABLE}
|
||||||
)
|
)
|
||||||
if(NOT CMake_TEST_EXTERNAL_CMAKE)
|
if(NOT CMake_TEST_EXTERNAL_CMAKE)
|
||||||
list(APPEND execute_process_ARGS -DTEST_ENCODING_EXE=$<TARGET_FILE:testEncoding>)
|
list(APPEND execute_process_ARGS -DTEST_ENCODING_EXE=$<TARGET_FILE:testEncoding>)
|
||||||
@ -748,7 +748,7 @@ endif()
|
|||||||
|
|
||||||
add_executable(pseudo_llvm-rc pseudo_llvm-rc.c)
|
add_executable(pseudo_llvm-rc pseudo_llvm-rc.c)
|
||||||
add_RunCMake_test(CommandLine -DLLVM_RC=$<TARGET_FILE:pseudo_llvm-rc> -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
|
add_RunCMake_test(CommandLine -DLLVM_RC=$<TARGET_FILE:pseudo_llvm-rc> -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
|
||||||
-DCYGWIN=${CYGWIN} -DMSYS=${MSYS} -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
-DCYGWIN=${CYGWIN} -DMSYS=${MSYS} -DPython_EXECUTABLE=${Python_EXECUTABLE}
|
||||||
-DEXIT_CODE_EXE=$<TARGET_FILE:exit_code>)
|
-DEXIT_CODE_EXE=$<TARGET_FILE:exit_code>)
|
||||||
add_RunCMake_test(CommandLineTar)
|
add_RunCMake_test(CommandLineTar)
|
||||||
|
|
||||||
@ -784,7 +784,7 @@ if(CMake_TEST_RunCMake_ExternalProject_DOWNLOAD_SERVER_TIMEOUT)
|
|||||||
endif()
|
endif()
|
||||||
add_RunCMake_test(ExternalProject)
|
add_RunCMake_test(ExternalProject)
|
||||||
add_RunCMake_test(FetchContent)
|
add_RunCMake_test(FetchContent)
|
||||||
set(CTestCommandLine_ARGS -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE})
|
set(CTestCommandLine_ARGS -DPython_EXECUTABLE=${Python_EXECUTABLE})
|
||||||
if(NOT CMake_TEST_EXTERNAL_CMAKE)
|
if(NOT CMake_TEST_EXTERNAL_CMAKE)
|
||||||
list(APPEND CTestCommandLine_ARGS -DTEST_AFFINITY=$<TARGET_FILE:testAffinity>)
|
list(APPEND CTestCommandLine_ARGS -DTEST_AFFINITY=$<TARGET_FILE:testAffinity>)
|
||||||
endif()
|
endif()
|
||||||
@ -968,16 +968,16 @@ add_RunCMake_test(PrecompileHeaders -DCMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID}
|
|||||||
|
|
||||||
add_RunCMake_test("UnityBuild")
|
add_RunCMake_test("UnityBuild")
|
||||||
add_RunCMake_test(CMakePresets
|
add_RunCMake_test(CMakePresets
|
||||||
-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
-DPython_EXECUTABLE=${Python_EXECUTABLE}
|
||||||
-DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA}
|
-DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA}
|
||||||
)
|
)
|
||||||
add_RunCMake_test(CMakePresetsBuild
|
add_RunCMake_test(CMakePresetsBuild
|
||||||
-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
-DPython_EXECUTABLE=${Python_EXECUTABLE}
|
||||||
-DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA}
|
-DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA}
|
||||||
-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
|
-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
|
||||||
)
|
)
|
||||||
add_RunCMake_test(CMakePresetsTest
|
add_RunCMake_test(CMakePresetsTest
|
||||||
-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
-DPython_EXECUTABLE=${Python_EXECUTABLE}
|
||||||
-DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA}
|
-DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
if(PYTHON_EXECUTABLE AND CMake_TEST_JSON_SCHEMA)
|
if(Python_EXECUTABLE AND CMake_TEST_JSON_SCHEMA)
|
||||||
if(NOT CMakePresets_SCHEMA_EXPECTED_RESULT)
|
if(NOT CMakePresets_SCHEMA_EXPECTED_RESULT)
|
||||||
set(CMakePresets_SCHEMA_EXPECTED_RESULT 0)
|
set(CMakePresets_SCHEMA_EXPECTED_RESULT 0)
|
||||||
endif()
|
endif()
|
||||||
|
@ -4,7 +4,7 @@ function(validate_schema file expected_result)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND "${PYTHON_EXECUTABLE}" "${CMakePresets_VALIDATE_SCRIPT_PATH}" "${file}"
|
COMMAND "${Python_EXECUTABLE}" "${CMakePresets_VALIDATE_SCRIPT_PATH}" "${file}"
|
||||||
RESULT_VARIABLE _result
|
RESULT_VARIABLE _result
|
||||||
OUTPUT_VARIABLE _output
|
OUTPUT_VARIABLE _output
|
||||||
ERROR_VARIABLE _error
|
ERROR_VARIABLE _error
|
||||||
|
@ -342,14 +342,14 @@ endfunction()
|
|||||||
run_TestStdin()
|
run_TestStdin()
|
||||||
|
|
||||||
function(show_only_json_check_python v)
|
function(show_only_json_check_python v)
|
||||||
if(RunCMake_TEST_FAILED OR NOT PYTHON_EXECUTABLE)
|
if(RunCMake_TEST_FAILED OR NOT Python_EXECUTABLE)
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
set(json_file "${RunCMake_TEST_BINARY_DIR}/ctest.json")
|
set(json_file "${RunCMake_TEST_BINARY_DIR}/ctest.json")
|
||||||
file(WRITE "${json_file}" "${actual_stdout}")
|
file(WRITE "${json_file}" "${actual_stdout}")
|
||||||
set(actual_stdout "" PARENT_SCOPE)
|
set(actual_stdout "" PARENT_SCOPE)
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${PYTHON_EXECUTABLE} "${RunCMake_SOURCE_DIR}/show-only_json-v${v}_check.py" "${json_file}"
|
COMMAND ${Python_EXECUTABLE} "${RunCMake_SOURCE_DIR}/show-only_json-v${v}_check.py" "${json_file}"
|
||||||
RESULT_VARIABLE result
|
RESULT_VARIABLE result
|
||||||
OUTPUT_VARIABLE output
|
OUTPUT_VARIABLE output
|
||||||
ERROR_VARIABLE output
|
ERROR_VARIABLE output
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
if(PYTHON_EXECUTABLE)
|
if(Python_EXECUTABLE)
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${PYTHON_EXECUTABLE} "${RunCMake_SOURCE_DIR}/trace-json-v1-check.py" "${RunCMake_BINARY_DIR}/json-v1.trace"
|
COMMAND ${Python_EXECUTABLE} "${RunCMake_SOURCE_DIR}/trace-json-v1-check.py" "${RunCMake_BINARY_DIR}/json-v1.trace"
|
||||||
RESULT_VARIABLE result
|
RESULT_VARIABLE result
|
||||||
OUTPUT_VARIABLE output
|
OUTPUT_VARIABLE output
|
||||||
ERROR_VARIABLE output
|
ERROR_VARIABLE output
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
if(PYTHON_EXECUTABLE)
|
if(Python_EXECUTABLE)
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${PYTHON_EXECUTABLE} "${RunCMake_SOURCE_DIR}/trace-json-v1-check.py" --expand "${RunCMake_BINARY_DIR}/json-v1-expand.trace"
|
COMMAND ${Python_EXECUTABLE} "${RunCMake_SOURCE_DIR}/trace-json-v1-check.py" --expand "${RunCMake_BINARY_DIR}/json-v1-expand.trace"
|
||||||
RESULT_VARIABLE result
|
RESULT_VARIABLE result
|
||||||
OUTPUT_VARIABLE output
|
OUTPUT_VARIABLE output
|
||||||
ERROR_VARIABLE output
|
ERROR_VARIABLE output
|
||||||
|
@ -18,12 +18,12 @@ in directory:
|
|||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(check_python case)
|
function(check_python case)
|
||||||
if(RunCMake_TEST_FAILED OR NOT PYTHON_EXECUTABLE)
|
if(RunCMake_TEST_FAILED OR NOT Python_EXECUTABLE)
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
file(GLOB index ${RunCMake_TEST_BINARY_DIR}/.cmake/api/v1/reply/index-*.json)
|
file(GLOB index ${RunCMake_TEST_BINARY_DIR}/.cmake/api/v1/reply/index-*.json)
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${PYTHON_EXECUTABLE} "${RunCMake_SOURCE_DIR}/${case}-check.py" "${index}" "${CMAKE_CXX_COMPILER_ID}"
|
COMMAND ${Python_EXECUTABLE} "${RunCMake_SOURCE_DIR}/${case}-check.py" "${index}" "${CMAKE_CXX_COMPILER_ID}"
|
||||||
"${RunCMake_TEST_BINARY_DIR}"
|
"${RunCMake_TEST_BINARY_DIR}"
|
||||||
RESULT_VARIABLE result
|
RESULT_VARIABLE result
|
||||||
OUTPUT_VARIABLE output
|
OUTPUT_VARIABLE output
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
|
execute_process(COMMAND "${Python_EXECUTABLE}" -c
|
||||||
"import os; os.kill(os.getpid(),11)"
|
"import os; os.kill(os.getpid(),11)"
|
||||||
COMMAND ${CMAKE_COMMAND} -E true
|
COMMAND ${CMAKE_COMMAND} -E true
|
||||||
COMMAND_ERROR_IS_FATAL ANY
|
COMMAND_ERROR_IS_FATAL ANY
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
|
execute_process(COMMAND "${Python_EXECUTABLE}" -c
|
||||||
"import os; os.kill(os.getpid(),11)"
|
"import os; os.kill(os.getpid(),11)"
|
||||||
COMMAND ${CMAKE_COMMAND} -E true
|
COMMAND ${CMAKE_COMMAND} -E true
|
||||||
RESULT_VARIABLE result
|
RESULT_VARIABLE result
|
||||||
)
|
)
|
||||||
|
|
||||||
if(result EQUAL "0")
|
if(result EQUAL "0")
|
||||||
execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
|
execute_process(COMMAND "${Python_EXECUTABLE}" -c
|
||||||
"import os; os.kill(os.getpid(),11)"
|
"import os; os.kill(os.getpid(),11)"
|
||||||
COMMAND ${CMAKE_COMMAND} -E true
|
COMMAND ${CMAKE_COMMAND} -E true
|
||||||
COMMAND_ERROR_IS_FATAL LAST
|
COMMAND_ERROR_IS_FATAL LAST
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E true
|
execute_process(COMMAND ${CMAKE_COMMAND} -E true
|
||||||
COMMAND "${PYTHON_EXECUTABLE}" -c
|
COMMAND "${Python_EXECUTABLE}" -c
|
||||||
"import os; os.kill(os.getpid(),11)"
|
"import os; os.kill(os.getpid(),11)"
|
||||||
RESULT_VARIABLE result
|
RESULT_VARIABLE result
|
||||||
)
|
)
|
||||||
|
|
||||||
if(NOT result EQUAL "0")
|
if(NOT result EQUAL "0")
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E true
|
execute_process(COMMAND ${CMAKE_COMMAND} -E true
|
||||||
COMMAND "${PYTHON_EXECUTABLE}" -c
|
COMMAND "${Python_EXECUTABLE}" -c
|
||||||
"import os; os.kill(os.getpid(),11)"
|
"import os; os.kill(os.getpid(),11)"
|
||||||
COMMAND_ERROR_IS_FATAL LAST
|
COMMAND_ERROR_IS_FATAL LAST
|
||||||
)
|
)
|
||||||
|
@ -35,8 +35,8 @@ run_cmake_command(LastCommandError ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/La
|
|||||||
run_cmake_command(LastCommandTimeout ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/LastCommandTimeout.cmake)
|
run_cmake_command(LastCommandTimeout ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/LastCommandTimeout.cmake)
|
||||||
run_cmake_command(LastCommandGood ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/LastCommandGood.cmake)
|
run_cmake_command(LastCommandGood ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/LastCommandGood.cmake)
|
||||||
|
|
||||||
if(UNIX AND PYTHON_EXECUTABLE)
|
if(UNIX AND Python_EXECUTABLE)
|
||||||
run_cmake_command(AnyCommandAbnormalExit ${CMAKE_COMMAND} -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -P ${RunCMake_SOURCE_DIR}/AnyCommandAbnormalExit.cmake)
|
run_cmake_command(AnyCommandAbnormalExit ${CMAKE_COMMAND} -DPython_EXECUTABLE=${Python_EXECUTABLE} -P ${RunCMake_SOURCE_DIR}/AnyCommandAbnormalExit.cmake)
|
||||||
run_cmake_command(LastCommandAbnormalExit-1 ${CMAKE_COMMAND} -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -P ${RunCMake_SOURCE_DIR}/LastCommandAbnormalExit-1.cmake)
|
run_cmake_command(LastCommandAbnormalExit-1 ${CMAKE_COMMAND} -DPython_EXECUTABLE=${Python_EXECUTABLE} -P ${RunCMake_SOURCE_DIR}/LastCommandAbnormalExit-1.cmake)
|
||||||
run_cmake_command(LastCommandAbnormalExit-2 ${CMAKE_COMMAND} -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -P ${RunCMake_SOURCE_DIR}/LastCommandAbnormalExit-2.cmake)
|
run_cmake_command(LastCommandAbnormalExit-2 ${CMAKE_COMMAND} -DPython_EXECUTABLE=${Python_EXECUTABLE} -P ${RunCMake_SOURCE_DIR}/LastCommandAbnormalExit-2.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
@ -19,7 +19,7 @@ CMake_QT_STATIC_QWindowsIntegrationPlugin_LIBRARIES:STRING=c:/qt-i386/plugins/pl
|
|||||||
|
|
||||||
# Build documentation.
|
# Build documentation.
|
||||||
CMAKE_DOC_DIR:STRING=doc/cmake
|
CMAKE_DOC_DIR:STRING=doc/cmake
|
||||||
PYTHON_EXECUTABLE:FILEPATH=C:/python3/python.exe
|
Python_EXECUTABLE:FILEPATH=C:/python3/python.exe
|
||||||
SPHINX_EXECUTABLE:FILEPATH=C:/python3/Scripts/sphinx-build.exe
|
SPHINX_EXECUTABLE:FILEPATH=C:/python3/Scripts/sphinx-build.exe
|
||||||
SPHINX_HTML:BOOL=ON
|
SPHINX_HTML:BOOL=ON
|
||||||
SPHINX_MAN:BOOL=ON
|
SPHINX_MAN:BOOL=ON
|
||||||
|
@ -19,7 +19,7 @@ CMake_QT_STATIC_QWindowsIntegrationPlugin_LIBRARIES:STRING=c:/qt-x86_64/plugins/
|
|||||||
|
|
||||||
# Build documentation.
|
# Build documentation.
|
||||||
CMAKE_DOC_DIR:STRING=doc/cmake
|
CMAKE_DOC_DIR:STRING=doc/cmake
|
||||||
PYTHON_EXECUTABLE:FILEPATH=C:/python3/python.exe
|
Python_EXECUTABLE:FILEPATH=C:/python3/python.exe
|
||||||
SPHINX_EXECUTABLE:FILEPATH=C:/python3/Scripts/sphinx-build.exe
|
SPHINX_EXECUTABLE:FILEPATH=C:/python3/Scripts/sphinx-build.exe
|
||||||
SPHINX_HTML:BOOL=ON
|
SPHINX_HTML:BOOL=ON
|
||||||
SPHINX_MAN:BOOL=ON
|
SPHINX_MAN:BOOL=ON
|
||||||
|
@ -101,7 +101,7 @@ if(SPHINX_INFO)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if(SPHINX_QTHELP)
|
if(SPHINX_QTHELP)
|
||||||
find_package(PythonInterp REQUIRED)
|
find_package(Python REQUIRED)
|
||||||
|
|
||||||
find_program(QHELPGENERATOR_EXECUTABLE
|
find_program(QHELPGENERATOR_EXECUTABLE
|
||||||
NAMES qhelpgenerator-qt5 qhelpgenerator
|
NAMES qhelpgenerator-qt5 qhelpgenerator
|
||||||
@ -124,7 +124,7 @@ if(SPHINX_QTHELP)
|
|||||||
|
|
||||||
# Create proper identifiers. Workaround for
|
# Create proper identifiers. Workaround for
|
||||||
# https://bitbucket.org/birkenfeld/sphinx/issue/1491/qthelp-should-generate-identifiers-for
|
# https://bitbucket.org/birkenfeld/sphinx/issue/1491/qthelp-should-generate-identifiers-for
|
||||||
COMMAND "${PYTHON_EXECUTABLE}"
|
COMMAND "${Python_EXECUTABLE}"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/create_identifiers.py"
|
"${CMAKE_CURRENT_SOURCE_DIR}/create_identifiers.py"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/qthelp/"
|
"${CMAKE_CURRENT_BINARY_DIR}/qthelp/"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user