Skip to content

cmake, Python packaging, and spack with separate build responsibilities#61

Draft
Helveg wants to merge 2 commits intopynest-publicapifrom
pip-v-cmake-build
Draft

cmake, Python packaging, and spack with separate build responsibilities#61
Helveg wants to merge 2 commits intopynest-publicapifrom
pip-v-cmake-build

Conversation

@Helveg
Copy link
Copy Markdown
Collaborator

@Helveg Helveg commented Dec 4, 2022

The responsibilities of our build systems have historically been mangled, with a pseudo-Python-install carried out by CMake as the most problematic and brittle aspect. This PR will fix that as follows:

  • CMake carries out the building of the NEST library
    • CMake is by default configured to round out the Python install by calling pip as a pypkg build frontend.
  • Python packaging happens (for now) by either carrying out a full CMake build, or a noop build:
    • The full build uses skbuild as a build backend that runs the CMake build without the trailing pip build.
    • The noop build assumes that the binaries were produced by CMake, and just copies them into the output bundle.
  • spack will configure a CMake build without pip, followed by a pip build without CMake

This allows us to move away effortlessly from Python, or add new interpreters/bindings without our build tools becoming hypercomplex

@github-actions
Copy link
Copy Markdown

Pull request automatically marked stale!

@github-actions github-actions Bot added the stale label Sep 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant