summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/googletest/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/googletest/package.py')
-rw-r--r--var/spack/repos/builtin/packages/googletest/package.py36
1 files changed, 22 insertions, 14 deletions
diff --git a/var/spack/repos/builtin/packages/googletest/package.py b/var/spack/repos/builtin/packages/googletest/package.py
index 14ceb6ea49..44a96bc170 100644
--- a/var/spack/repos/builtin/packages/googletest/package.py
+++ b/var/spack/repos/builtin/packages/googletest/package.py
@@ -25,7 +25,7 @@
from spack import *
-class Googletest(Package):
+class Googletest(CMakePackage):
"""Google test framework for C++. Also called gtest."""
homepage = "https://github.com/google/googletest"
url = "https://github.com/google/googletest/tarball/release-1.7.0"
@@ -34,17 +34,25 @@ class Googletest(Package):
version('1.7.0', '5eaf03ed925a47b37c8e1d559eb19bc4')
version('1.6.0', '90407321648ab25b067fcd798caf8c78')
- depends_on("cmake", type='build')
-
+ def cmake_args(self):
+ spec = self.spec
+ if '@1.8.0:' in spec:
+ # New style (contains both Google Mock and Google Test)
+ options = ['-DBUILD_GMOCK=OFF', '-DBUILD_GTEST=ON']
+ else:
+ # Old style (contains only GTest)
+ options = []
+ return options
+
+ @when('@:1.7.0')
def install(self, spec, prefix):
- which('cmake')('.', *std_cmake_args)
-
- make()
-
- # Google Test doesn't have a make install
- # We have to do our own install here.
- install_tree('include', prefix.include)
-
- mkdirp(prefix.lib)
- install('./libgtest.a', '%s' % prefix.lib)
- install('./libgtest_main.a', '%s' % prefix.lib)
+ """Make the install targets"""
+ with working_dir(self.build_directory):
+ # Google Test doesn't have a make install
+ # We have to do our own install here.
+ install_tree(join_path(self.stage.source_path, 'include'),
+ prefix.include)
+
+ mkdirp(prefix.lib)
+ install('libgtest.a', prefix.lib)
+ install('libgtest_main.a', prefix.lib)