Re: kdev-python: Use CMake FindPython3
Francis Herne <[email protected]> Thu, 04 Jan 2024 14:37:28 +0000
| Newsgroups | gmane.comp.kde.devel.kdevelop |
|---|---|
| Message-ID | <[email protected]> |
On 2024-01-03 14:31, Casian Andrei wrote: > Use FindPython3 instead of FindPythonInterp and FindPythonLibs > > Fixes CMake warning regarding CMP0148 - deprecation of > FindPythonInterp and FindPythonLibs. > > Initially tested using a python3.12, but kdevelop crashes and there > are kdev-python errors in the logs, so kept max version to 3.11. > > Tested with a local compiled python3.9. When the python3.9 was > compiled without --enable-shared, CMake didn't work, as expected. When > compiled with --enable-shared, CMake worked fine. Built ok, but for > some reason tried to link kdevpythonlanguagesupport.so to a > nonexistent python3.11 library. > > Installed a python3.11 which worked fine with kdevelop-python. > > I assume that issue linking to a nonexistent python3.11 was not > because of a problem with these changes. > > --- > > Because I haven't contributed to KDE for many years now, it would take > a lot of time to get the accounts and setups and learn how things are > done now. > > I hope you are able to review and commit if ok. > > Attaching the patch. Thanks for the patch. Nitpick: please use 3.11 as upper bound (assuming that works) rather than 3.11.7 in case there's another patch release. These are very unlikely to break kdev-python. The dependency on 3.4.3 was due to a particularly stupid series of events that hopefully won't repeat. I'm concerned that the "issue linking to a nonexistent python3.11" might be due to you having a Python 3.11 interpreter installed, but not with corresponding libs? This will explicitly fail with the old checks, where the comment is: "# Find libraries that match the found interpreter (mismatched versions not supported)." If CMake's new FindPython3 is smart enough it would return the highest version matching both required components, but I've learned to have very little faith in CMake modules doing the right thing in non-obvious situations. Yours, -Francis Herne