mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 00:11:07 -06:00
FindPython: Implement lookup strategies.
Configration variable Python_FIND_STRATEGY controls the lookup startegy. Possible values are LOCATION and VERSION. Fixes: #19159
This commit is contained in:
@@ -137,6 +137,17 @@ Hints
|
||||
* If set to TRUE, search **only** for static libraries.
|
||||
* If set to FALSE, search **only** for shared libraries.
|
||||
|
||||
``Python_FIND_STRATEGY``
|
||||
This variable defines how lookup will be done.
|
||||
The ``Python_FIND_STRATEGY`` variable can be set to empty or one of the
|
||||
following:
|
||||
|
||||
* ``VERSION``: Try to find the most recent version in all specified
|
||||
locations.
|
||||
This is the default.
|
||||
* ``LOCATION``: Stops lookup as soon as a version satisfying version
|
||||
constraints is founded.
|
||||
|
||||
``Python_FIND_REGISTRY``
|
||||
On Windows the ``Python_FIND_REGISTRY`` variable determine the order
|
||||
of preference between registry and environment variables.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -138,6 +138,17 @@ Hints
|
||||
* If set to TRUE, search **only** for static libraries.
|
||||
* If set to FALSE, search **only** for shared libraries.
|
||||
|
||||
``Python2_FIND_STRATEGY``
|
||||
This variable defines how lookup will be done.
|
||||
The ``Python2_FIND_STRATEGY`` variable can be set to empty or one of the
|
||||
following:
|
||||
|
||||
* ``VERSION``: Try to find the most recent version in all specified
|
||||
locations.
|
||||
This is the default.
|
||||
* ``LOCATION``: Stops lookup as soon as a version satisfying version
|
||||
constraints is founded.
|
||||
|
||||
``Python2_FIND_REGISTRY``
|
||||
On Windows the ``Python2_FIND_REGISTRY`` variable determine the order
|
||||
of preference between registry and environment variables.
|
||||
|
||||
@@ -138,6 +138,17 @@ Hints
|
||||
* If set to TRUE, search **only** for static libraries.
|
||||
* If set to FALSE, search **only** for shared libraries.
|
||||
|
||||
``Python3_FIND_STRATEGY``
|
||||
This variable defines how lookup will be done.
|
||||
The ``Python3_FIND_STRATEGY`` variable can be set to empty or one of the
|
||||
following:
|
||||
|
||||
* ``VERSION``: Try to find the most recent version in all specified
|
||||
locations.
|
||||
This is the default.
|
||||
* ``LOCATION``: Stops lookup as soon as a version satisfying version
|
||||
constraints is founded.
|
||||
|
||||
``Python3_FIND_REGISTRY``
|
||||
On Windows the ``Python3_FIND_REGISTRY`` variable determine the order
|
||||
of preference between registry and environment variables.
|
||||
|
||||
@@ -1,12 +1,22 @@
|
||||
if(CMake_TEST_FindPython)
|
||||
add_test(NAME FindPython.Python2 COMMAND
|
||||
add_test(NAME FindPython.Python2.LOCATION COMMAND
|
||||
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/FindPython/Python2"
|
||||
"${CMake_BINARY_DIR}/Tests/FindPython/Python2"
|
||||
"${CMake_BINARY_DIR}/Tests/FindPython/Python2.LOCATION"
|
||||
${build_generator_args}
|
||||
--build-project TestPython2
|
||||
--build-options ${build_options}
|
||||
--build-options ${build_options} -DPython2_FIND_STRATEGY=LOCATION
|
||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||
)
|
||||
add_test(NAME FindPython.Python2.VERSION COMMAND
|
||||
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/FindPython/Python2"
|
||||
"${CMake_BINARY_DIR}/Tests/FindPython/Python2.VERSION"
|
||||
${build_generator_args}
|
||||
--build-project TestPython2
|
||||
--build-options ${build_options} -DPython2_FIND_STRATEGY=VERSION
|
||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||
)
|
||||
|
||||
@@ -23,14 +33,24 @@ if(CMake_TEST_FindPython)
|
||||
set_tests_properties(FindPython.Python2Fail PROPERTIES
|
||||
PASS_REGULAR_EXPRESSION "Could NOT find Python2 \\(missing: foobar\\)")
|
||||
|
||||
add_test(NAME FindPython.Python3 COMMAND
|
||||
add_test(NAME FindPython.Python3.LOCATION COMMAND
|
||||
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/FindPython/Python3"
|
||||
"${CMake_BINARY_DIR}/Tests/FindPython/Python3"
|
||||
"${CMake_BINARY_DIR}/Tests/FindPython/Python3.LOCATION"
|
||||
${build_generator_args}
|
||||
--build-project TestPython3
|
||||
--build-options ${build_options}
|
||||
--build-options ${build_options} -DPython3_FIND_STRATEGY=LOCATION
|
||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||
)
|
||||
add_test(NAME FindPython.Python3.VERSION COMMAND
|
||||
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/FindPython/Python3"
|
||||
"${CMake_BINARY_DIR}/Tests/FindPython/Python3.VERSION"
|
||||
${build_generator_args}
|
||||
--build-project TestPython3
|
||||
--build-options ${build_options} -DPython3_FIND_STRATEGY=VERSION
|
||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user