Commit Graph

79 Commits

Author SHA1 Message Date
Marc Chevrier 0126701d4d FindPython: use CMAKE specific variables to look-up debug library
Fixes: #20714
2020-05-18 15:11:19 +02:00
Marc Chevrier da5fecfbf6 FindPython: Add IronPython support on all platforms 2020-05-11 14:02:59 +02:00
Marc Chevrier afcd3c1ee1 FindPython: ensure any specified version is correctly handled
Fixes: #20674
2020-05-07 11:20:43 +02:00
Marc Chevrier 74f6b9f980 FindPython: Add support for 'PyPy' 2020-05-01 15:03:04 +02:00
Marc Chevrier 164260655b FindPython: fix error on FPHSA call 2020-04-29 13:41:56 +02:00
Marc Chevrier f37807652a 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 1a1aace759 Merge topic 'FindPython-reason-failure'
f7bec05166 FindPython: fix reason failure propagation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4660
2020-04-27 10:41:20 -04:00
Marc Chevrier f7bec05166 FindPython: fix reason failure propagation 2020-04-24 15:47:05 +02:00
Brad King 50f56ced0f Merge topic 'FindPython-fix-python-compiler-validation'
8762c3ce72 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 8762c3ce72 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
Ben Boeckel 8f7bc8dae8 FindPython: remove unnecessary if check
`list(REMOVE_DUPLICATES)` is safe on empty lists since 3.14.
2020-04-20 10:30:09 -04:00
Ben Boeckel c4be15026d FindPython: fix some indentation 2020-04-17 09:00:26 -04:00
Marc Chevrier 44c76eab75 FindPython: add sub-components to Development component
Fixes: #20425
2020-04-16 14:38:39 +02:00
Brad King 02bd339b13 Merge topic 'FindPython-if-auto-deref'
d55848cb87 FindPython: remove extra dereference
9d6a4e5abc FindPython: avoid autoderef in version comparisons

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4610
2020-04-15 09:38:03 -04:00
Ben Boeckel d55848cb87 FindPython: remove extra dereference
If the version is not found (e.g., missing headers), this causes a CMake
error about `if(blah VERSION_EQUAL)` being an invalid statement.
2020-04-14 11:03:35 -04:00
Ben Boeckel 9d6a4e5abc FindPython: avoid autoderef in version comparisons 2020-04-14 11:03:35 -04:00
Brad King 2281ffbc39 Merge topic 'FindPython-fix-VIRTUALENV-eq-FIRST' into release-3.17
f53edb10bd FindPython: fix handling when FIND_VIRTUALENV == FIRST

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4557
2020-04-02 11:12:54 -04:00
Brad King 2b10678e13 Merge topic 'FindPython-fix-VIRTUALENV-eq-FIRST'
f53edb10bd FindPython: fix handling when FIND_VIRTUALENV == FIRST

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4557
2020-04-02 11:12:54 -04:00
Marc Chevrier f53edb10bd FindPython: fix handling when FIND_VIRTUALENV == FIRST
Fixes: #20525
2020-04-01 10:36:46 -04:00
Marc Chevrier a5fc2ddcc8 FindPython: use 'sysconfig' as alternate to 'distutils.sysconfig'
To support any python installation, if package 'distutils.sysconfig'
is not available, try to use package 'sysconfig'.

Fixes: #20502
2020-03-28 10:51:47 +01:00
Brad King 47a568094e Merge topic 'FindPython-variable-spelling-error'
645bb7ba9d FindPython: fix variable spelling error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4529
2020-03-27 07:44:12 -04:00
Marc Chevrier 645bb7ba9d FindPython: fix variable spelling error 2020-03-26 18:08:25 +01:00
Brad King bd5b679f1a Merge topic 'FindPython-polish'
1c61057f21 FindPython: misc. fixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4519
2020-03-25 08:13:07 -04:00
Marc Chevrier 1c61057f21 FindPython: misc. fixes
Help: Fix errors regardings HINTS.
Code: Optimize Python signature cache variable to avoid unecessary searchs.
2020-03-24 18:26:16 +01:00
Brad King ded27d7983 Merge topic 'FindPython-version-validation-fix'
7862db85d5 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 7862db85d5 FindPython: fix regression on version validation
In commit b2e8785e83 (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
Brad King c2e3337eb1 Merge topic 'FindPython-ENV-CMAKE_FRAMEWORK_PATH'
1f312e5546 FindPython: Convert env CMAKE_FRAMEWORK_PATH to CMake path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !4462
2020-03-12 08:18:54 -04:00
Bo Anderson 1f312e5546 FindPython: Convert env CMAKE_FRAMEWORK_PATH to CMake path 2020-03-11 13:35:33 -04:00
Marc Chevrier 443856fc7e FindPython: Add possibility to control scope of artifacts.
Fixes: #20362
2020-03-05 16:44:48 +01:00
Marc Chevrier ce032b7adf FindPython: python_add_library can now manage SOABI suffix.
Fixes: #20408
2020-03-03 13:13:48 +01:00
Marc Chevrier af9b503694 FindPython: Do not cache computed result variables in CMake 3.16
Since commit 5ab1160b9b (FindPython: Add capability to specify directly
artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally add the result
variables `Python*_LIBRARY_RELEASE` and `Python*_LIBRARY_DEBUG` to the
cache.  They are always computed from other results and so should not be
presented to users in cmake-gui and ccmake to edit.

Issue: #20362
2020-02-26 08:09:21 -05:00
Marc Chevrier 70133a5fa6 FindPython: Mark non-public cache entries INTERNAL in CMake 3.16
Since commit 5ab1160b9b (FindPython: Add capability to specify directly
artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally expose cache
entries named `_Python...` to users in cmake-gui and ccmake.  Mark those
entries as `INTERNAL` to hide them.

Issue: #20362
2020-02-26 08:09:16 -05:00
Marc Chevrier 423c5282b8 FindPython: Do not cache computed result variables
Since commit 5ab1160b9b (FindPython: Add capability to specify directly
artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally add the result
variables `Python*_LIBRARY_RELEASE` and `Python*_LIBRARY_DEBUG` to the
cache.  They are always computed from other results and so should not be
presented to users in cmake-gui and ccmake to edit.

Issue: #20362
2020-02-26 08:08:26 -05:00
Marc Chevrier 28f0ffd0ff FindPython: Mark non-public cache entries INTERNAL
Since commit 5ab1160b9b (FindPython: Add capability to specify directly
artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally expose cache
entries named `_Python...` to users in cmake-gui and ccmake.  Mark those
entries as `INTERNAL` to hide them.

Issue: #20362
2020-02-26 08:08:03 -05:00
Marc Chevrier b2e8785e83 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
Brad King 9abea51b1b Merge topic 'python39'
36c633e274 FindPython: Add support for version 3.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Marc Chevrier <marc.chevrier@gmail.com>
Acked-by: Björn Esser <besser82@fedoraproject.org>
Merge-request: !4225
2020-01-15 13:36:35 -05:00
Miro Hrončok 36c633e274 FindPython: Add support for version 3.9
Development versions of Python 3.9.0 are already out there.

See PEP 596 -- Python 3.9 Release Schedule:
https://www.python.org/dev/peps/pep-0596/
2020-01-14 15:02:19 -05:00
Brad King 55538a5b46 Merge topic 'macOS-Xcode-11-frameworks'
f95e2723f6 FindPython: ensure new Xcode framework for Python3 is detected
4f63610d08 macOS: Add support for new Xcode 11 frameworks directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4198
2020-01-13 10:20:59 -05:00
Marc Chevrier f95e2723f6 FindPython: ensure new Xcode framework for Python3 is detected 2020-01-10 13:48:39 +01:00
Marc Chevrier 6f60b445f3 FindPython: Add variable Python_SOABI
This variable holds the standard extension suffix for modules.

Fixes: #20150
2020-01-09 14:43:22 +01:00
Marc Chevrier 6eea20a76a Merge topic 'findpython_conda_support'
2d53e9fad5 FindPython: Extend virtual environment handling by considering conda

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4155
2019-12-23 06:33:54 -05:00
Sebastian Müller 2d53e9fad5 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
Kyle Edwards 39b9be6136 Merge topic 'FindPython-Fix-target-properties'
52da70f82b FindPython*: Fix erroneous target properties setting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !4154
2019-12-20 12:57:07 -05:00
Marc Chevrier 52da70f82b FindPython*: Fix erroneous target properties setting
Property IMPORTED_CONFIGURATIONS for targets Python*::Python
and Python*::Module is not correctly set.
2019-12-19 19:42:24 +01:00
Marc Chevrier 41b1671072 FindPython: customize failure message 2019-11-01 12:10:30 +01:00
Marc Chevrier 5ab1160b9b FindPython: Add capability to specify directly artifacts
Fixes: #19492
2019-09-02 17:20:53 +02:00
Marc Chevrier f62e9e9f1d FindPython: Enhance python cache variables management.
Ensure multiple cmake runs without cache clean-up will preserve artifacts selected on first run.

This change address the issue #19492.
2019-09-02 13:19:01 +02:00
Marc Chevrier c990a5209a FindPython: ensure virtual environments are correctly handled
Fixes: #19525
2019-08-05 18:20:29 +02:00
Brad King 4740f01a29 Merge topic 'FindPython-interpreter-crosscompiling'
26c7cee0f2 FindPython: ensure interpreter is founded when cross-compiling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3564
2019-07-18 07:15:48 -04:00
Marc Chevrier 26c7cee0f2 FindPython: ensure interpreter is founded when cross-compiling
Fixes: #19473
2019-07-18 07:13:20 -04:00