summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorHarmen Stoppels <harmenstoppels@gmail.com>2021-09-08 13:56:00 +0200
committerGitHub <noreply@github.com>2021-09-08 05:56:00 -0600
commitc33382b60796923f0ffe107ea996e24252975d97 (patch)
treedd30ede681d77c85bfea0f74b606dcd64845b485 /var
parent47b16b39a36be4c8f3d9f5465c8f230cf799c5d0 (diff)
downloadspack-c33382b60796923f0ffe107ea996e24252975d97.tar.gz
spack-c33382b60796923f0ffe107ea996e24252975d97.tar.bz2
spack-c33382b60796923f0ffe107ea996e24252975d97.tar.xz
spack-c33382b60796923f0ffe107ea996e24252975d97.zip
Cmake: improve ncurses detection (#25776)
* Optionally enable ccmake in cmake Renames ncurses variant to `ccmake` since that's how users know it, and explicitly enable/disable `BUILD_CursesDialog`. * Make cmake locate its dependencies with CMAKE_PREFIX_PATH, and set rpath flags too * Undo variant name & defaults change
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/cmake/package.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index 9e8af3d2b7..8b3b42932b 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -5,6 +5,8 @@
import re
+import spack.build_environment
+
class Cmake(Package):
"""A cross-platform, open-source build system. CMake is a family of
@@ -277,6 +279,17 @@ class Cmake(Package):
if '+ownlibs' in spec:
args.append('-DCMAKE_USE_OPENSSL=%s' % str('+openssl' in spec))
+ args.append('-DBUILD_CursesDialog=%s' % str('+ncurses' in spec))
+
+ # Make CMake find its own dependencies.
+ rpaths = spack.build_environment.get_rpaths(self)
+ prefixes = spack.build_environment.get_cmake_prefix_path(self)
+ args.extend([
+ '-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF',
+ '-DCMAKE_INSTALL_RPATH={0}'.format(";".join(str(v) for v in rpaths)),
+ '-DCMAKE_PREFIX_PATH={0}'.format(";".join(str(v) for v in prefixes))
+ ])
+
return args
def bootstrap(self, spec, prefix):