Skip to content
Snippets Groups Projects
Commit 71229f2c authored by Marc Chevrier's avatar Marc Chevrier
Browse files

Merge branch 'backport-3.17-FindPython-check-specified-version' into...

Merge branch 'backport-3.17-FindPython-check-specified-version' into FindPython-check-specified-version
parents e1c86990 25978c7a
No related branches found
No related tags found
No related merge requests found
......@@ -150,6 +150,99 @@ if(CMake_TEST_FindPython)
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.Python2.ExactVersion.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion"
"${CMake_BINARY_DIR}/Tests/FindPython/Python2.ExactVersion.LOCATION"
${build_generator_args}
--build-project TestExactVersion
--build-options ${build_options} -DPython_MAJOR_VERSION=2
-DPython_REQUESTED_VERSION=2.1.2
-DPython2_FIND_STRATEGY=LOCATION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.Python2.ExactVersion.VERSION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion"
"${CMake_BINARY_DIR}/Tests/FindPython/Python2.ExactVersion.VERSION"
${build_generator_args}
--build-project TestExactVersion
--build-options ${build_options} -DPython_MAJOR_VERSION=2
-DPython_REQUESTED_VERSION=2.1.2
-DPython2_FIND_STRATEGY=VERSION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.Python3.ExactVersion.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion"
"${CMake_BINARY_DIR}/Tests/FindPython/Python3.ExactVersion.LOCATION"
${build_generator_args}
--build-project TestExactVersion
--build-options ${build_options} -DPython_MAJOR_VERSION=3
-DPython_REQUESTED_VERSION=3.1.2
-DPython3_FIND_STRATEGY=LOCATION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.Python3.ExactVersion.VERSION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion"
"${CMake_BINARY_DIR}/Tests/FindPython/Python3.ExactVersion.VERSION"
${build_generator_args}
--build-project TestExactVersion
--build-options ${build_options} -DPython_MAJOR_VERSION=3
-DPython_REQUESTED_VERSION=3.1.2
-DPython3_FIND_STRATEGY=VERSION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.Python.V2.ExactVersion.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion"
"${CMake_BINARY_DIR}/Tests/FindPython/Python.V2.ExactVersion.LOCATION"
${build_generator_args}
--build-project TestExactVersion
--build-options ${build_options} -DPython_REQUESTED_VERSION=2.1.2
-DPython_FIND_STRATEGY=LOCATION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.Python.V2.ExactVersion.VERSION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion"
"${CMake_BINARY_DIR}/Tests/FindPython/Python.V2.ExactVersion.VERSION"
${build_generator_args}
--build-project TestExactVersion
--build-options ${build_options} -DPython_REQUESTED_VERSION=2.1.2
-DPython_FIND_STRATEGY=VERSION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.Python.V3.ExactVersion.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion"
"${CMake_BINARY_DIR}/Tests/FindPython/Python.V3.ExactVersion.LOCATION"
${build_generator_args}
--build-project TestExactVersion
--build-options ${build_options} -DPython_REQUESTED_VERSION=3.1.2
-DPython_FIND_STRATEGY=LOCATION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.Python.V3.ExactVersion.VERSION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/ExactVersion"
"${CMake_BINARY_DIR}/Tests/FindPython/Python.V3.ExactVersion.VERSION"
${build_generator_args}
--build-project TestExactVersion
--build-options ${build_options} -DPython_REQUESTED_VERSION=3.1.2
-DPython_FIND_STRATEGY=VERSION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.MultiplePackages COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
......
cmake_minimum_required(VERSION 3.1)
project(TestExactVersion C)
find_package(Python${Python_MAJOR_VERSION} ${Python_REQUESTED_VERSION} COMPONENTS Interpreter Development)
if (NOT Python${Python_MAJOR_VERSION}_FOUND)
message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION}")
endif()
if (NOT Python${Python_MAJOR_VERSION}_Interpreter_FOUND)
message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION} Interpreter")
endif()
if (NOT Python${Python_MAJOR_VERSION}_Development_FOUND)
message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION} Development")
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Interpreter)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Interpreter not found")
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Python)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Python not found")
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Module)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Module not found")
endif()
# reset artifacts and second search with exact version already founded
unset (Python${Python_MAJOR_VERSION}_EXECUTABLE)
unset (_Python${Python_MAJOR_VERSION}_EXECUTABLE CACHE)
unset (_Python${Python_MAJOR_VERSION}_LIBRARY_RELEASE CACHE)
unset (_Python${Python_MAJOR_VERSION}_INCLUDE_DIR CACHE)
set (Python_REQUESTED_VERSION ${Python${Python_MAJOR_VERSION}_VERSION})
find_package(Python${Python_MAJOR_VERSION} ${Python_REQUESTED_VERSION} EXACT COMPONENTS Interpreter Development)
if (NOT Python${Python_MAJOR_VERSION}_FOUND)
message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION}")
endif()
if (NOT Python${Python_MAJOR_VERSION}_Interpreter_FOUND)
message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION} Interpreter")
endif()
if (NOT Python${Python_MAJOR_VERSION}_Development_FOUND)
message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION} Development")
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Interpreter)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Interpreter not found")
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Python)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Python not found")
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Module)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Module not found")
endif()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment