summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/cmake/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/cmake/package.py')
-rw-r--r--var/spack/repos/builtin/packages/cmake/package.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index e988af5ba2..0ce352b9ab 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -307,11 +307,20 @@ class Cmake(Package):
args = []
self.generator = make
+ if self.spec.satisfies("platform=windows"):
+ args.append("-GNinja")
+ self.generator = ninja
+
if not sys.platform == "win32":
args.append("--prefix={0}".format(self.prefix))
- if spack.build_environment.should_set_parallel_jobs(jobserver_support=True):
- args.append("--parallel={0}".format(make_jobs))
+ jobs = spack.build_environment.get_effective_jobs(
+ make_jobs,
+ parallel=self.parallel,
+ supports_jobserver=self.generator.supports_jobserver,
+ )
+ if jobs is not None:
+ args.append("--parallel={0}".format(jobs))
if "+ownlibs" in spec:
# Build and link to the CMake-provided third-party libraries
@@ -338,9 +347,7 @@ class Cmake(Package):
args.append("--")
else:
args.append("-DCMAKE_INSTALL_PREFIX=%s" % self.prefix)
- if self.spec.satisfies("platform=windows"):
- args.append("-GNinja")
- self.generator = ninja
+
args.append("-DCMAKE_BUILD_TYPE={0}".format(self.spec.variants["build_type"].value))
# Install CMake correctly, even if `spack install` runs