Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`, now with "east const" enforcement.
Use `clang-format` version 18.
* If you reached this commit for a line in `git blame`, re-run the blame
operation starting at the parent of this commit to see older history
for the content.
* See the parent commit for instructions to rebase a change across this
style transition commit.
Issue: #26123
In some situations, like cross-compilation, it can be required to search for
the host python interpreter as well as the cross-compilation development
artifacts.
By managing different prefixes for the artifacts, multiple and independent
searches can be achieved.
Newer Python versions (namely 3.13) do not support old compilers before
gcc 4.8 for atomics, which leads to compile errors in the test case.
Since the test actually does not use any of that API, restrict it to the
limited Python API which offers even more stability across versions.
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
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
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
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
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
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.