Commit Graph

44 Commits

Author SHA1 Message Date
Marc Chevrier
c164404b2e FindPython: On Windows, Enhance python debug version support
Add the following variables:
* Python_EXECUTABLE_DEBUG
* Python_INTERPRETER
* Python_DEBUG_POSTFIX

and target Python::InterpreterDebug.

python_add_library() command Manage DEBUG_POSTFIX target property based
on the value of Python_DEBUG_POSTFIX variable.

Fixes: #25874
2024-05-09 19:08:47 +02:00
Brad King
264dcae5e4 Tests: Fix clang -Wstrict-prototypes warnings 2023-10-26 09:20:45 -04:00
Marc Chevrier
97b3a2ac17 FindPython: Add labels Python2 and/or Python3 on tests 2023-06-29 17:08:12 +02:00
Marc Chevrier
9b45210b05 FindPython: Add tests for IronPython v3 2023-06-29 17:07:56 +02:00
Marc Chevrier
711d1da125 FindPython: add capability to select python version for the tests 2023-06-15 15:28:55 +02:00
Brad King
8a71c88d4d Merge branch 'backport-3.26-FindPython-SOSABI-handling' 2023-03-20 08:11:56 -04:00
Marc Chevrier
4c902d675b FindPython: ensure Stable ABI is correctly handled
Fixes: #24610
2023-03-20 08:10:53 -04:00
Brad King
bd7b2293aa Tests: Bump CMake minimum required version in find-module tests to 3.5
CMake 3.27 deprecates compatibility with CMake < 3.5.
Update find module tests to avoid the deprecation warning.
2023-03-08 15:41:43 -05:00
Marc Chevrier
77d734aede FindPython: add support for Stable ABI
Fixes: #24141
2022-11-29 16:48:08 +01:00
Marc Chevrier
ece3bedbf2 FindPython: fix error on multiple queries with different COMPONENTS
Ensure that multiple queries with different COMPONENTS specified in
different sub-directories are fully supported.
2022-06-27 13:16:29 -04:00
Brad King
ccd87d89d8 Merge topic 'FindPython-version-range-fix-tests'
a00603af0b FindPython: Fix version range tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5497
2020-11-12 09:10:53 -05:00
Marc Chevrier
a00603af0b FindPython: Fix version range tests
Tests must be successful when multiple versions are installed.
2020-11-11 16:16:49 +01:00
Marc Chevrier
e452f6e2cf FindPython: Adds control over artifact names to search
Fixes: #21371
2020-11-03 15:12:58 +01:00
Marc Chevrier
2549dc7c93 FindPython: Enable C language in tests that find the Development component
Since commit 5537ccd814 (FindPython: Tests optimizations, 2020-10-01)
some FindPython tests fail because the Development component cannot be
found without knowing `CMAKE_LIBRARY_ARCHITECTURE`.  Enable at least one
language in each of these test cases to get that value.  This is
consistent with use in practice because the Development component does
not make much sense without a language to compile sources anyway.

Fixes: #21277
2020-10-07 12:01:43 -04:00
Marc Chevrier
5537ccd814 FindPython: Tests optimizations
* Use 'project(... LANGUAGES NONE)' when possible
* enhance error messages wording
2020-10-01 17:51:16 +02:00
Marc Chevrier
e4b7049230 FindPython: Add version range support
Fixes: #21107
2020-09-30 14:30:23 +02:00
Marc Chevrier
951640f1f9 FindPython: manage SOABI for all Python versions
Fixes: #21070
2020-08-11 10:16:40 +02:00
Marc Chevrier
a92d384548 FindPython: ensure user's policies are respected
Do not set the policy version before recording our internal macros such
as `__Python_add_library`.  Otherwise callers get our policy version
instead of theirs.  Instead just set the specific policies we need.

Also fix one case in our test suite where we were accidentally
relying on the policy version to be set by `FindPython`.

Fixes: #21042
2020-08-07 09:24:18 -04:00
Marc Chevrier
71229f2c85 Merge branch 'backport-3.17-FindPython-check-specified-version' into FindPython-check-specified-version 2020-05-07 11:26:22 +02:00
Marc Chevrier
25978c7a00 FindPython: ensure any specified version is correctly handled
Fixes: #20674
2020-05-07 11:19:36 +02:00
Marc Chevrier
c1ef70d4d1 FindPython: Add support for 'PyPy' 2020-05-01 15:03:04 +02:00
Marc Chevrier
d2c47c822b FindPython: Add capability to specify Python implementations
Through hint Python_FIND_IMPLEMENTATIONS it is possble to specify, as an
ordered list, which implementations must be searched for.
Currently possible values are:
* CPython
* IronPython
2020-04-28 13:56:18 +02:00
Brad King
360862f845 Merge topic 'FindPython-fix-python-compiler-validation'
f39da773ee FindPython: fix python compiler validation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4655
2020-04-24 08:36:17 -04:00
Marc Chevrier
f39da773ee FindPython: fix python compiler validation
Ensure also the cache of properties is erased in case of multiple
searches.

Fixes: #20626, #20627
2020-04-23 17:47:22 +02:00
Marc Chevrier
c1b4044d3e FindPython: add sub-components to Development component
Fixes: #20425
2020-04-16 14:38:39 +02:00
Brad King
3c7774e207 Merge topic 'FindPython-version-validation-fix'
cc7f116cb4 FindPython: fix regression on version validation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4492
2020-03-18 07:54:23 -04:00
Marc Chevrier
cc7f116cb4 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
2020-03-17 10:08:34 -04:00
Marc Chevrier
e5b4c74238 FindPython: Add possibility to control scope of artifacts.
Fixes: #20362
2020-03-05 16:44:48 +01:00
Marc Chevrier
0c97b73bc0 FindPython: python_add_library can now manage SOABI suffix.
Fixes: #20408
2020-03-03 13:13:48 +01:00
Marc Chevrier
3dab4682f6 FindPython: reduces consumption of resources
Stores more information in the cache to reduce the number
of sub-processes required on subsequent find_package calls.

Fixes: #20337
2020-02-10 12:41:04 +01:00
Marc Chevrier
61502d3956 FindPython: Add variable Python_SOABI
This variable holds the standard extension suffix for modules.

Fixes: #20150
2020-01-09 14:43:22 +01:00
Sebastian Müller
776d27d4a4 FindPython: Extend virtual environment handling by considering conda
- Add functionality to recognize and use CONDA_PREFIX environment variable
- Add tests for conda virtual environments
- Fixes: #20111
2019-12-21 15:38:00 +01:00
Marc Chevrier
687a354518 FindPython: customize failure message 2019-11-01 12:10:30 +01:00
Kitware Robot
ed98209ddc Revise include order using clang-format-6.0
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`.  Use `clang-format` version 6.0.
2019-10-01 12:26:36 -04:00
Marc Chevrier
06d9e67fbd FindPython: Add capability to specify directly artifacts
Fixes: #19492
2019-09-02 17:20:53 +02:00
Marc Chevrier
9201908ca5 FindPython: add Python_FIND_ABI hint.
This variable will enable to specify will ABIs will be searched.
2019-06-24 12:00:21 +02:00
Marc Chevrier
9f205acefe FindPython: Implement lookup strategies.
Configration variable Python_FIND_STRATEGY controls the lookup startegy.
Possible values are LOCATION and VERSION.

Fixes: #19159
2019-05-21 16:13:27 +02:00
Marc Chevrier
30b873c05d FindPython*: Manage weak link for Python modules
Add new target Python::Module which take care of platform requirements
for Python module development.

Fixes: #18100
2019-05-07 16:37:24 +02:00
Marc Chevrier
8a2f62cc18 FindPython*: Add capability to control virtual env handling.
Fixes: #19097
2019-04-03 09:16:17 +02:00
Marc Chevrier
8e3358336d FindPython: Fix NumPy component include directory
Update the component added by commit 513e77550d (FindPython: Introduce
NumPy component, 2018-12-12, v3.14.0-rc1~95^2).  The `numpy/`
sub-directory should not be part of the include directory.  It should be
part of the `#include` line.
2019-03-04 08:28:21 -05:00
Hiroshi Miura
513e77550d FindPython: Introduce NumPy component
Fixes: #18678
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2019-01-25 01:26:48 +09:00
Kyle Edwards
e4541b0e3d FindPython: Support script mode
Fixes: #18827
2019-01-23 13:51:09 -05:00
Kyle Edwards
8ef1916c82 FindPython: Test existence of imported targets 2019-01-23 11:53:54 -05:00
Marc Chevrier
352baee207 FindPython*: New implementation for Python stuff
Fixes: #16142
2018-03-20 09:29:44 +01:00