Skip to content

CMake-based Python extension builds - #1992

Merged
dweindl merged 214 commits into
developfrom
cmake
Feb 27, 2023
Merged

CMake-based Python extension builds#1992
dweindl merged 214 commits into
developfrom
cmake

Conversation

@dweindl

@dweindl dweindl commented Feb 15, 2023

Copy link
Copy Markdown
Member

Building non-trivial extensions with setuptools alone is a pain. CMake should make everything way easier and simplify finding relevant libraries. This has also potential to solve conda-issues 🤞 .

Changes:

  • CMake-based build of all python extensions, removes any build_clib steps (Closes Use CMake or enscons for python package build/installation #721)
  • Removes most of the setuptools/distutils hacks
  • Removes custom library-finding-logic that is now handled by CMake
  • Enables/disables some additional warnings
  • More relocatable CMake exports

A few modifications to SUNDIALS / SuiteSparse were necessary (all marked by some comment containing AMICI in the respective files):

  • I wasn't able to convince SuiteSparse to find OpenBLAS on windows. Any attempt of doing so has been disabled, and AMICI's logic is used. BLAS with 64bit integer type is assumed.
  • Sundials' FindKLU was modified to find static SuiteSparse libraries (or any SuiteSparse libraries at all...)

dweindl added a commit that referenced this pull request Feb 27, 2023
Instructions are pretty outdated and nobody is willing to maintain them.
If not broken already, at least after #1992, this approach won't work anymore.

Closes #2012

@FFroehlich FFroehlich left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 nice!

Comment thread scripts/installAmiciSource.sh Outdated
@dweindl dweindl self-assigned this Feb 27, 2023
@sonarqubecloud

Copy link
Copy Markdown

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

0.0% 0.0% Coverage
0.0% 0.0% Duplication

@dweindl
dweindl merged commit 9f0ed1d into develop Feb 27, 2023
@dweindl
dweindl deleted the cmake branch February 27, 2023 14:20
dweindl added a commit that referenced this pull request Feb 28, 2023
* Doc: Remove outdated mingw instructions

Instructions are pretty outdated and nobody is willing to maintain them.
If not broken already, at least after #1992, this approach won't work anymore.

Closes #2012

* fixup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants