Skip to content

[nlohmann-json] [package list]

nlohmann-json/3.11.3-cpeGNU-23.12 (nlohmann-json-3.11.3-cpeGNU-23.12.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider nlohmann-json/3.11.3-cpeGNU-23.12.

EasyConfig:

# Based on a easyconfig by the Juelich Supercomputing Centre
# Adapted for LUMI by Orian Louant

easyblock = 'CMakeMake'

local_nlohmannjson_version = '3.11.3'        # https://github.com/nlohmann/json/releases

name =    'nlohmann-json'
version = local_nlohmannjson_version

homepage = "https://json.nlohmann.me/"

whatis = ['Description: nlohmann-json is JSON library for modern C++']

description = """
nlohmann-json is JSON library for modern C++ by Niels Lohmann. The design goals
are:

 - Intuitive syntax: in languages such as Python, JSON feels like a first class
   data type. We used all the operator magic of modern C++ to achieve the same
   feeling in your code.
 - Trivial integration. Our whole code consists of a single header file 
   json.hpp. That's it. No library, no subproject, no dependencies, no complex
   build system. The class is written in vanilla C++11. All in all, everything
   should require no adjustment of your compiler flags or project settings.
 - Serious testing. Our code is heavily unit-tested and covers 100% of the code,
   including all exceptional behavior. Furthermore, it's checked with Valgrind
   and the Clang Sanitizers that there are no memory leaks.
"""

docurls = ['https://json.nlohmann.me/']

software_license_urls = ['https://json.nlohmann.me/home/license/']

toolchain = {'name': 'cpeGNU', 'version': '23.12'}
toolchainopts = {'pic': True}

sources = [{
    'download_filename': 'v%(version)s.tar.gz',
    'filename':          SOURCE_TAR_GZ,
    'source_urls':       ['https://github.com/nlohmann/json/archive']
}]
checksums =   ['0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406']

builddependencies = [
    ('buildtools', '%(toolchain_version)s', '', True),
]

postinstallcmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cd ../json-%(version)s && cp CITATION.cff ChangeLog.md LICENSE.MIT README.md %(installdir)s/share/licenses/%(name)s',   
]

sanity_check_paths = {
    'files': [f'share/licenses/{name}/LICENSE.MIT'],
    'dirs':  ['include/nlohmann'],
}

moduleclass = 'devel'

[nlohmann-json] [package list]