summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorPeter Scheibel <scheibel1@llnl.gov>2024-03-14 13:32:01 -0700
committerGitHub <noreply@github.com>2024-03-14 13:32:01 -0700
commitec517b40e98dabb5759553f1d2599e50f245018a (patch)
treee6bf9f099f9446970f68608c1bdb27fd2f057b64 /CHANGELOG.md
parent22cb3815fe2df7090eb735cc472a7d37c3beb8ac (diff)
downloadspack-ec517b40e98dabb5759553f1d2599e50f245018a.tar.gz
spack-ec517b40e98dabb5759553f1d2599e50f245018a.tar.bz2
spack-ec517b40e98dabb5759553f1d2599e50f245018a.tar.xz
spack-ec517b40e98dabb5759553f1d2599e50f245018a.zip
`spack develop`: stage build artifacts in same root as non-dev builds (#41373)
Currently (outside of this PR) when you `spack develop` a path, this path is treated as the staging directory (this means that for example all build artifacts are placed in the develop path). This PR creates a separate staging directory for all `spack develop`ed builds. It looks like ``` # the stage root /the-stage-root-for-all-spack-builds/ spack-stage-<hash> # Spack packages inheriting CMakePackage put their build artifacts here spack-build-<hash>/ ``` Unlike non-develop builds, there is no `spack-src` directory, `source_path` is the provided `dev_path`. Instead, separately, in the `dev_path`, we have: ``` /dev/path/for/foo/ build-{arch}-<hash> -> /the-stage-root-for-all-spack-builds/spack-stage-<hash>/ ``` The main benefit of this is that build artifacts for out-of-source builds that are relative to `Stage.path` are easily identified (and you can delete them with `spack clean`). Other behavior added here: - [x] A symlink is made from the `dev_path` to the stage directory. This symlink name incorporates spec details, so that multiple Spack environments that develop the same path will not conflict with one another - [x] `spack cd` and `spack location` have added a `-c` shorthand for `--source-dir` Spack builds can still change the develop path (in particular to keep track of applied patches), and for in-source builds, this doesn't change much (although logs would not be written into the develop path). Packages inheriting from `CMakePackage` should get this benefit automatically though.
Diffstat (limited to 'CHANGELOG.md')
0 files changed, 0 insertions, 0 deletions