dealii: explicitly specify bzip2 libs (#5337)

* dealii: explicitly specify bzip2 libs
* bzip2: add libs() property
This commit is contained in:
Denis Davydov 2017-09-12 05:47:05 +02:00 committed by Todd Gamblin
parent f8f1c308c9
commit c9e46a2913
2 changed files with 12 additions and 1 deletions

View file

@ -40,6 +40,14 @@ class Bzip2(Package):
variant('shared', default=True, description='Enables the build of shared libraries.') variant('shared', default=True, description='Enables the build of shared libraries.')
# override default implementation
@property
def libs(self):
shared = '+shared' in self.spec
return find_libraries(
'libbz2', root=self.prefix, shared=shared, recurse=True
)
def patch(self): def patch(self):
# bzip2 comes with two separate Makefiles for static and dynamic builds # bzip2 comes with two separate Makefiles for static and dynamic builds
# Tell both to use Spack's compiler wrapper instead of GCC # Tell both to use Spack's compiler wrapper instead of GCC

View file

@ -166,7 +166,10 @@ def cmake_args(self):
'-DDEAL_II_COMPONENT_EXAMPLES=ON', '-DDEAL_II_COMPONENT_EXAMPLES=ON',
'-DDEAL_II_WITH_THREADS:BOOL=ON', '-DDEAL_II_WITH_THREADS:BOOL=ON',
'-DBOOST_DIR=%s' % spec['boost'].prefix, '-DBOOST_DIR=%s' % spec['boost'].prefix,
'-DBZIP2_DIR=%s' % spec['bzip2'].prefix, # Cmake may still pick up system's bzip2, fix this:
'-DBZIP2_FOUND=true',
'-DBZIP2_INCLUDE_DIRS=%s' % spec['bzip2'].prefix.include,
'-DBZIP2_LIBRARIES=%s' % spec['bzip2'].libs.joined(';'),
# CMake's FindBlas/Lapack may pickup system's blas/lapack instead # CMake's FindBlas/Lapack may pickup system's blas/lapack instead
# of Spack's. Be more specific to avoid this. # of Spack's. Be more specific to avoid this.
# Note that both lapack and blas are provided in -DLAPACK_XYZ. # Note that both lapack and blas are provided in -DLAPACK_XYZ.