Extend HPX package (#13219)
* Add master branch as version to HPX package * Remove C++98 option from HPX package * Add option to turn off examples in HPX package * Add MPI variant to HPX package
This commit is contained in:
parent
5004b20f5c
commit
83016e96fd
@ -13,6 +13,7 @@ class Hpx(CMakePackage, CudaPackage):
|
|||||||
homepage = "http://stellar.cct.lsu.edu/tag/hpx/"
|
homepage = "http://stellar.cct.lsu.edu/tag/hpx/"
|
||||||
url = "https://github.com/STEllAR-GROUP/hpx/archive/1.2.1.tar.gz"
|
url = "https://github.com/STEllAR-GROUP/hpx/archive/1.2.1.tar.gz"
|
||||||
|
|
||||||
|
version('master', git='https://github.com/STEllAR-GROUP/hpx.git', branch='master')
|
||||||
version('1.3.0', sha256='cd34da674064c4cc4a331402edbd65c5a1f8058fb46003314ca18fa08423c5ad')
|
version('1.3.0', sha256='cd34da674064c4cc4a331402edbd65c5a1f8058fb46003314ca18fa08423c5ad')
|
||||||
version('1.2.1', sha256='8cba9b48e919035176d3b7bbfc2c110df6f07803256626f1dad8d9dde16ab77a')
|
version('1.2.1', sha256='8cba9b48e919035176d3b7bbfc2c110df6f07803256626f1dad8d9dde16ab77a')
|
||||||
version('1.2.0', sha256='20942314bd90064d9775f63b0e58a8ea146af5260a4c84d0854f9f968077c170')
|
version('1.2.0', sha256='20942314bd90064d9775f63b0e58a8ea146af5260a4c84d0854f9f968077c170')
|
||||||
@ -20,7 +21,7 @@ class Hpx(CMakePackage, CudaPackage):
|
|||||||
|
|
||||||
variant('cxxstd',
|
variant('cxxstd',
|
||||||
default='17',
|
default='17',
|
||||||
values=('98', '11', '14', '17'),
|
values=('11', '14', '17'),
|
||||||
description='Use the specified C++ standard when building.')
|
description='Use the specified C++ standard when building.')
|
||||||
|
|
||||||
variant(
|
variant(
|
||||||
@ -33,9 +34,14 @@ class Hpx(CMakePackage, CudaPackage):
|
|||||||
'apex', 'google_perftools', 'papi', 'valgrind'
|
'apex', 'google_perftools', 'papi', 'valgrind'
|
||||||
), description='Add support for various kind of instrumentation')
|
), description='Add support for various kind of instrumentation')
|
||||||
|
|
||||||
variant('networking', default=True,
|
variant(
|
||||||
description='Support for networking and multi=node runs')
|
"networking",
|
||||||
|
values=any_combination_of("tcp", "mpi").with_default("tcp"),
|
||||||
|
description="Support for networking through parcelports",
|
||||||
|
)
|
||||||
|
|
||||||
variant('tools', default=False, description='Build HPX tools')
|
variant('tools', default=False, description='Build HPX tools')
|
||||||
|
variant('examples', default=False, description='Build examples')
|
||||||
|
|
||||||
depends_on('boost')
|
depends_on('boost')
|
||||||
depends_on('hwloc')
|
depends_on('hwloc')
|
||||||
@ -53,7 +59,6 @@ class Hpx(CMakePackage, CudaPackage):
|
|||||||
depends_on('hwloc@1.6:', when='@:1.1.0')
|
depends_on('hwloc@1.6:', when='@:1.1.0')
|
||||||
|
|
||||||
# CXX Standard
|
# CXX Standard
|
||||||
depends_on('boost cxxstd=98', when='cxxstd=98')
|
|
||||||
depends_on('boost cxxstd=11', when='cxxstd=11')
|
depends_on('boost cxxstd=11', when='cxxstd=11')
|
||||||
depends_on('boost cxxstd=14', when='cxxstd=14')
|
depends_on('boost cxxstd=14', when='cxxstd=14')
|
||||||
depends_on('boost cxxstd=17', when='cxxstd=17')
|
depends_on('boost cxxstd=17', when='cxxstd=17')
|
||||||
@ -63,6 +68,9 @@ class Hpx(CMakePackage, CudaPackage):
|
|||||||
depends_on('jemalloc', when='malloc=jemalloc')
|
depends_on('jemalloc', when='malloc=jemalloc')
|
||||||
depends_on('tbb', when='malloc=tbbmalloc')
|
depends_on('tbb', when='malloc=tbbmalloc')
|
||||||
|
|
||||||
|
# MPI
|
||||||
|
depends_on('mpi', when='networking=mpi')
|
||||||
|
|
||||||
# Instrumentation
|
# Instrumentation
|
||||||
depends_on('apex', when='instrumentation=apex')
|
depends_on('apex', when='instrumentation=apex')
|
||||||
depends_on('gperftools', when='instrumentation=google_perftools')
|
depends_on('gperftools', when='instrumentation=google_perftools')
|
||||||
@ -76,7 +84,6 @@ class Hpx(CMakePackage, CudaPackage):
|
|||||||
|
|
||||||
def cxx_standard(self):
|
def cxx_standard(self):
|
||||||
value = self.spec.variants['cxxstd'].value
|
value = self.spec.variants['cxxstd'].value
|
||||||
value = '0X' if value == '98' else value
|
|
||||||
return '-DHPX_WITH_CXX{0}=ON'.format(value)
|
return '-DHPX_WITH_CXX{0}=ON'.format(value)
|
||||||
|
|
||||||
def instrumentation_args(self):
|
def instrumentation_args(self):
|
||||||
@ -104,7 +111,13 @@ def cmake_args(self):
|
|||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
args.append('-DHPX_WITH_NETWORKING={0}'.format(
|
args.append('-DHPX_WITH_NETWORKING={0}'.format(
|
||||||
'ON' if '+networking' in spec else 'OFF'
|
'OFF' if 'networking=none' in spec else 'ON'
|
||||||
|
))
|
||||||
|
args.append('-DHPX_WITH_PARCELPORT_TCP={0}'.format(
|
||||||
|
'ON' if 'networking=tcp' in spec else 'OFF'
|
||||||
|
))
|
||||||
|
args.append('-DHPX_WITH_PARCELPORT_MPI={0}'.format(
|
||||||
|
'ON' if 'networking=mpi' in spec else 'OFF'
|
||||||
))
|
))
|
||||||
|
|
||||||
# Cuda support
|
# Cuda support
|
||||||
@ -117,6 +130,11 @@ def cmake_args(self):
|
|||||||
'ON' if '+tools' in spec else 'OFF'
|
'ON' if '+tools' in spec else 'OFF'
|
||||||
))
|
))
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
args.append('-DHPX_WITH_EXAMPLES={0}'.format(
|
||||||
|
'ON' if '+examples' in spec else 'OFF'
|
||||||
|
))
|
||||||
|
|
||||||
args.extend([
|
args.extend([
|
||||||
'-DBOOST_ROOT={0}'.format(spec['boost'].prefix),
|
'-DBOOST_ROOT={0}'.format(spec['boost'].prefix),
|
||||||
'-DHWLOC_ROOT={0}'.format(spec['hwloc'].prefix),
|
'-DHWLOC_ROOT={0}'.format(spec['hwloc'].prefix),
|
||||||
|
Loading…
Reference in New Issue
Block a user