-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use scikit-build-core #263
Conversation
First working version. May still need a bit of tweaking.
Created separate `CMakeLists.txt` files for the `src` and `tests` directory. Removed unused environment variables in `pyproject.toml`.
Try to configure as much as possible, so that more than one error can be reported.
The same CMake settings need to be applied to all libraries. Do this in a `foreach` loop that loops over all targets.
Formatted the `CMakeLists.txt` files using `cmake-format`.
Editable installs don't work with `pip` and `pyproject.toml`.
The new build system uses `pkg-config` to locate Casacore. At it to the list of packages that must be installed.
Based `py3_casacore_master` on `ubuntu:24.04` and fixed the job.
Replaced `nose` with the more modern `pytest` and `pytest-cov` for measuring test coverage. Coverage report is sent to stdout.
The coverage badge pointed to a page that hasn't been updated since 2017. It has been removed. TODO: perform coverage tests and add a new badge.
Fixed merge conflicts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great to get rid of this setup.py with the awful boost check, and move to CMake and modern python build systems!
…ll-back to using good-ole CMake modules.
Not sure why, but when using `FindCasacore.cmake` (adopted from `schaapcommon`), we need to have `liblapack-dev` installed.
Do not depend on an explicit Ubunut version, use `latest` instead.
Forgot to uppercase _all_ references to variable names `Casacore_*`.
I think I addressed all your review comments. Ready for second review. |
I do see that my current one-shoe-fits-all solution for linking results in over-linking. I don't think this is a very big issue, because all libraries are in the binary wheel anyway. It will, of course, give a little run-time overhead and a waste of some RAM memory. @tammojan, if you think it's worth the effort to dive into this, I will. |
Only link to the libraries that are actually needed by passing the `--as-needed` option to the linker.
I fixed the over-linking issue in commit 693f7ca |
The OS-X build is again broken. Now with:
I have no idea how to fix this, because I don't know how to reproduce this problem. |
Undid some unnecessary changes to some of the no longer used GitHub workflows. These changes wouldn't have had an effect anyway.
It's a problem in the installation of casacore itself. I think this could be solved by making boost-python an optional requirement in casacore's CMake. |
Point to main WCSlib page, instead of tar ball.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great to me! I think this is ready to merge.
Use
scikit-build-core
to build the Python casacore bindings. It completely replaces the custom-made stuff insetup.py
.