diff --git a/docs/building_blocks.md b/docs/building_blocks.md index e4664c0b..e609cecc 100644 --- a/docs/building_blocks.md +++ b/docs/building_blocks.md @@ -1152,6 +1152,9 @@ default is empty. - __url__: The URL of the package to build. One of this parameter or the `repository` or `package` parameters must be specified. +- __unpack_download__: if the `url` or `package` specified needs to be unpacked. +The default is True + __Examples__ @@ -4546,5 +4549,3 @@ __Examples__ ```python yum(ospackages=['make', 'wget']) ``` - - diff --git a/hpccm/building_blocks/generic_cmake.py b/hpccm/building_blocks/generic_cmake.py index 47519852..b942160a 100644 --- a/hpccm/building_blocks/generic_cmake.py +++ b/hpccm/building_blocks/generic_cmake.py @@ -136,6 +136,9 @@ class generic_cmake(bb_base, hpccm.templates.CMakeBuild, url: The URL of the package to build. One of this parameter or the `repository` or `package` parameters must be specified. + unpack_download: if the URL or package specified needs to be unpacked. + The default is True + # Examples ```python @@ -196,6 +199,7 @@ def __init__(self, **kwargs): self.__run_arguments = kwargs.get('_run_arguments', None) self.runtime_environment_variables = kwargs.get('runtime_environment', {}) self.__toolchain = kwargs.get('toolchain', toolchain()) + self.__unpack_download = kwargs.get('unpack_download', True) self.__commands = [] # Filled in by __setup() self.__wd = '/var/tmp' # working directory @@ -230,8 +234,13 @@ def __setup(self): self.__commands""" # Get source - self.__commands.append(self.download_step(recursive=self.__recursive, - wd=self.__wd)) + self.__commands.append( + self.download_step( + recursive=self.__recursive, + wd=self.__wd, + unpack=self.__unpack_download + ) + ) # directory containing the unarchived package if self.__directory: