A proxy Python package to host all header-only libraries which are needed to build Power Grid Model.
The GitHub Actions automatically fetches the latest versions of the header-only libraries and updates the pgm-build-deps package.
This package should be part of build dependencies of the Power Grid Model project.
[build-system]
requires = [
"pgm-build-deps"
]In the build process, the entry point cmake.root will be installed into the build environment. The build backend, e.g., scikit-build-core, can retrieve the cmake search paths and use them when invoking cmake.
uv tool install pgm-build-deps
$env:CMAKE_PREFIX_PATH = (pgm-build-setup-local-prefix)
# only if you want it to persist across sessions
[Environment]::SetEnvironmentVariable("CMAKE_PREFIX_PATH", $env:CMAKE_PREFIX_PATH, "User")This replaces CMAKE_PREFIX_PATH in the current window.
The last command saves it for your Windows user; restart your editor to pick it up.
uv tool install pgm-build-deps
export CMAKE_PREFIX_PATH="$(pgm-build-setup-local-prefix)"
# only if you want it to persist across sessions; use .bash_profile, .zprofile or equivalent for other shells
cat >> "$HOME/.profile" <<'EOF'
export CMAKE_PREFIX_PATH="$(pgm-build-setup-local-prefix)"
EOFThis replaces CMAKE_PREFIX_PATH in the current shell.
The heredoc appends the export command to ~/.profile for future login shells.
On Linux, launch your editor from this shell (e.g., code .) so extensions inherit the variable.
steps:
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install pgm-build-deps
run: |
uv tool install pgm-build-deps
pgm-build-setup-ga-ciAfter setting this in your GitHub Actions CI, the follow-up cmake calls will find the packages.
The source code of this package is licensed under the MPL-2.0 license.
The header-only libraries are licensed under their respective licenses, which can be found in the LICENSES directory of this package.