diff options
author | Marc Chevrier <marc.chevrier@gmail.com> | 2020-03-17 13:50:43 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-03-17 14:08:34 (GMT) |
commit | cc7f116cb409236697c4a17e5ad012e7c2790ce5 (patch) | |
tree | 81ab3601b9d3810faf46dfdf475d4ea155b2c178 /Tests/FindPython/Python | |
parent | 1ec72e09471287630cf142d8587a9b8d9abad629 (diff) | |
download | CMake-cc7f116cb409236697c4a17e5ad012e7c2790ce5.zip CMake-cc7f116cb409236697c4a17e5ad012e7c2790ce5.tar.gz CMake-cc7f116cb409236697c4a17e5ad012e7c2790ce5.tar.bz2 |
FindPython: fix regression on version validation
In commit 3dab4682f6 (FindPython: reduces consumption of resources,
2020-02-10, v3.17.0-rc1~11^2) we accidentally broke the python
executable version validation when the "LOCATION" strategy is used
with the plain `FindPython` module. Fix the logic and add test
cases covering those combinations.
Fixes: #20465
Diffstat (limited to 'Tests/FindPython/Python')
-rw-r--r-- | Tests/FindPython/Python/CMakeLists.txt | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/Tests/FindPython/Python/CMakeLists.txt b/Tests/FindPython/Python/CMakeLists.txt index 62c805e..3ee38e3 100644 --- a/Tests/FindPython/Python/CMakeLists.txt +++ b/Tests/FindPython/Python/CMakeLists.txt @@ -4,9 +4,9 @@ project(TestPython C) include(CTest) -find_package(Python 3 REQUIRED COMPONENTS Interpreter Development) +find_package(Python ${Python_REQUESTED_VERSION} REQUIRED COMPONENTS Interpreter Development) if (NOT Python_FOUND) - message (FATAL_ERROR "Fail to found Python 3") + message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION}") endif() if(NOT TARGET Python::Interpreter) @@ -20,13 +20,15 @@ if(NOT TARGET Python::Module) message(SEND_ERROR "Python::Module not found") endif() -Python_add_library (spam3 MODULE ../spam.c) -target_compile_definitions (spam3 PRIVATE PYTHON3) - -add_test (NAME python_spam3 - COMMAND "${CMAKE_COMMAND}" -E env "PYTHONPATH=$<TARGET_FILE_DIR:spam3>" - "${Python_EXECUTABLE}" -c "import spam3; spam3.system(\"cd\")") - -add_test(NAME findpython_script - COMMAND "${CMAKE_COMMAND}" -DPYTHON_PACKAGE_NAME=Python - -P "${CMAKE_CURRENT_LIST_DIR}/../FindPythonScript.cmake") +if (Python_REQUESTED_VERSION) + Python_add_library (spam${Python_REQUESTED_VERSION} MODULE ../spam.c) + target_compile_definitions (spam${Python_REQUESTED_VERSION} PRIVATE PYTHON${Python_REQUESTED_VERSION}) + + add_test (NAME python_spam${Python_REQUESTED_VERSION} + COMMAND "${CMAKE_COMMAND}" -E env "PYTHONPATH=$<TARGET_FILE_DIR:spam${Python_REQUESTED_VERSION}>" + "${Python_EXECUTABLE}" -c "import spam${Python_REQUESTED_VERSION}; spam${Python_REQUESTED_VERSION}.system(\"cd\")") +else() + add_test(NAME findpython_script + COMMAND "${CMAKE_COMMAND}" -DPYTHON_PACKAGE_NAME=Python + -P "${CMAKE_CURRENT_LIST_DIR}/../FindPythonScript.cmake") +endif() |