summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/cmd/location.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/spack/spack/cmd/location.py b/lib/spack/spack/cmd/location.py
index 9050e3111c..24236d7e83 100644
--- a/lib/spack/spack/cmd/location.py
+++ b/lib/spack/spack/cmd/location.py
@@ -109,4 +109,16 @@ def location(parser, args):
tty.die("Build directory does not exist yet. "
"Run this to create it:",
"spack stage " + " ".join(args.spec))
- print(pkg.stage.source_path)
+
+ # Out of source builds have build_directory defined
+ if hasattr(pkg, 'build_directory'):
+ # build_directory can be either absolute or relative
+ # to the stage path in either case os.path.join makes it
+ # absolute
+ print(os.path.normpath(os.path.join(
+ pkg.stage.path,
+ pkg.build_directory
+ )))
+ else:
+ # Otherwise assume in-source builds
+ return print(pkg.stage.source_path)