# IT4Innovations 2022 # JK easyblock = 'CMakeMake' name = 'libxc' version = '6.0.0' homepage = 'https://www.tddft.org/programs/libxc' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'NVHPC', 'version': '21.9'} source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['c2ca205a762200dfba2e6c9e8ca2061aaddc6b7cf42048859fe717a7aa07de7c'] builddependencies = [ ('CMake', '3.20.1', '', ('GCCcore', '10.2.0')), ('Perl', '5.32.0', '', ('GCCcore', '10.2.0')), ] separate_build_dir = True local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=OFF" # perform iterative build to get both static and shared libraries configopts = [ local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', ] parallel = 1 # make sure that built libraries (libxc*.so*) in build directory are picked when running tests # this is required when RPATH linking is used pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && " runtest = 'test' sanity_check_paths = { 'files': ['bin/xc-info'] + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], 'dirs': ['include', 'lib/pkgconfig'], # share/cmake/Libxc } moduleclass = 'chem'