easyblock = 'CMakeMake'

name = 'Catch2'
version = '2.13.9'

homepage = 'https://github.com/catchorg/Catch2'
description = """A modern, C++-native, header-only,
 test framework for unit-tests, TDD and BDD
 - using C++11, C++14, C++17 and later
"""

toolchain = SYSTEM

source_urls = ['https://github.com/catchorg/Catch2/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['06dbc7620e3b96c2b69d57bf337028bf245a211b3cddb843835bfe258f427a52']

# using CMake built with GCCcore to avoid relying on the system compiler to build it
builddependencies = [
    ('GCCcore', '12.2.0'),  # required to a access CMake when using hierarchical module naming scheme
    ('binutils', '2.39', '', ('GCCcore', '12.2.0')),  # to make CMake compiler health check pass on old systems
    ('CMake', '3.24.3', '', ('GCCcore', '12.2.0')),
]

separate_build_dir = True

sanity_check_paths = {
    'files': [],
    'dirs':  ['include/catch2', 'lib64/cmake'],
}

moduleclass = 'lib'
