Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

build: Remove manual CGAL install #315

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

matthewfeickert
Copy link
Member

@matthewfeickert matthewfeickert commented Sep 13, 2024

Addresses (and maybe resolves, will need to check) Issue #193.

  • build: Remove manual CGAL install

    • Remove the manual download of CGAL from setup.py.
    • Remove --with-cgaldir autogen.sh flag as CGAL should be installed in a location by the package managers or user that it is findable.
  • build: Add manual CGAL install for Linux cibuildwheel

    • The cibuildwheel Linux container is CentOS 7 based, but CGAL is not packaged for CentOS with yum — only for apt-get, Homebrew, and conda-forge. For Linux cibuildwheel builds this then requires that the CGAL headers (CGAL is header only) need to be manually downloaded from GitHub and then copied into /usr/include/.
  • docs: Add libcgal-dev install to README

    • Add libcgal-dev to the required packages to install for Linux based development.
  • ci: Add cgal install to CI

    • Use package managers to install libcgal-dev (Linux) and cgal (macOS) in CI jobs.

@matthewfeickert
Copy link
Member Author

matthewfeickert commented Sep 13, 2024

This is ready for review. On my fork I also manually started a wheels build to verify that everything passed across all wheels. (Linux aarch64 jobs take a long time due to emulation — c.f. scikit-hep/boost-histogram#958, which is related but not the main time sink.)

image

* Remove the manual download of CGAL from setup.py.
* Remove '--with-cgaldir' autogen.sh flag as CGAL should be installed
  in a location by the package managers or user that it is findable.
* The cibuildwheel Linux container is CentOS 7 based, but CGAL is
  not packaged for CentOS with yum --- only for apt-get, Homebrew,
  and conda-forge. For Linux cibuildwheel builds this then requires
  that the CGAL headers (CGLA is header only) need to be manually
  downloaded from GitHub and then copied into /usr/include/.
* Add libcgal-dev to the required packages to install for Linux based
  development.
* Use package managers to install libcgal-dev (Linux) and cgal (macOS)
  in CI jobs.
@matthewfeickert matthewfeickert force-pushed the build/remove-cgal-source-download branch from 8518a1e to e0c06d1 Compare September 16, 2024 23:44
…-cgal-header-only'


From `./configure --help`:

```
  --enable-cgal           enables link with the CGAL library default=no
  --enable-cgal-header-only   enable build with header-only install of CGAL, e.g. as for CGALv5; in that case do not use --enable-cgal default=no
```
@matthewfeickert matthewfeickert marked this pull request as draft September 17, 2024 08:38
@matthewfeickert
Copy link
Member Author

matthewfeickert commented Sep 17, 2024

Putting into draft state until PR #319 is merged or closed.

…--enable-cgal-header-only'"

This reverts commit 363f100.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant