picomeson 0.1.3

A small parser for meson.build files
Documentation
# directories
option('prefix', type: 'string', value: '/usr/local', description: 'Installation prefix')
option('bindir', type: 'string', value: 'bin', description: 'Executable directory')
option('datadir', type: 'string', value: 'share', description: 'Data file directory')
option('includedir', type: 'string', value: 'include', description: 'Header file directory')
option('infodir', type: 'string', value: 'share/info', description: 'Info page directory')
option('libdir', type: 'string', value: 'lib', description: 'Library directory')
option('licensedir', type: 'string', value: '', description: 'Licenses directory')
option('libexecdir', type: 'string', value: 'libexec', description: 'Library executable directory')
option('localedir', type: 'string', value: 'share/locale', description: 'Locale data directory')
option('localstatedir', type: 'string', value: 'var', description: 'Localstate data directory')
option('mandir', type: 'string', value: 'share/man', description: 'Manual page directory')
option('sbindir', type: 'string', value: 'sbin', description: 'System executable directory')
option('sharedstatedir', type: 'string', value: 'com', description: 'Architecture-independent data directory')
option('sysconfdir', type: 'string', value: 'etc', description: 'Sysconf data directory')

# core options
option('auto_features', type: 'string', value: 'auto', description: 'Override value of all \'auto\' features')
option('backend', type: 'string', value: 'ninja', description: 'Backend to use')
option('genvslite', type: 'string', value: 'vs2022', description: 'Setup multi-buildtype ninja build directories and Visual Studio solution')
option('buildtype', type: 'string', value: 'debug', description: 'Build type to use')
option('debug', type: 'boolean', value: true, description: 'Enable debug symbols and other information')
option('default_both_libraries', type: 'string', value: 'shared', description: 'Default library type for both_libraries')
option('default_library', type: 'string', value: 'shared', description: 'Default library type')
option('errorlogs', type: 'boolean', value: true, description: 'Whether to print the logs from failing tests.')
option('install_umask', type: 'string', value: '022', description: 'Default umask to apply on permissions of installed files')
option('layout', type: 'string', value: 'mirror', description: 'Build directory layout')
option('optimization', type: 'string', value: '0', description: 'Optimization level')
option('pkg_config_path', type: 'string', value: '', description: 'Additional paths for pkg-config to search before builtin paths')
option('prefer_static', type: 'boolean', value: false, description: 'Whether to try static linking before shared linking')
option('cmake_prefix_path', type: 'array', value: [], description: 'Additional prefixes for cmake to search before builtin paths')
option('stdsplit', type: 'boolean', value: true, description: 'Split stdout and stderr in test logs')
option('strip', type: 'boolean', value: false, description: 'Strip targets on install')
option('unity', type: 'boolean', value: false, description: 'Unity build')
option('unity_size', type: 'integer', value: 4, description: 'Unity file block size')
option('warning_level', type: 'integer', value: 1, description: 'Set the warning level. From 0 = compiler default to everything = highest')
option('werror', type: 'boolean', value: false, description: 'Treat warnings as errors')
option('wrap_mode', type: 'string', value: 'default', description: 'Wrap mode to use')
option('force_fallback_for', type: 'array', value: [], description: 'Force fallback for those dependencies')
option('vsenv', type: 'boolean', value: false, description: 'Activate Visual Studio environment')

# base options
option('b_asneeded', type: 'boolean', value: true, description: 'Use -Wl,--as-needed when linking')
option('b_bitcode', type: 'boolean', value: false, description: 'Embed Apple bitcode, see below')
option('b_colorout', type: 'string', value: 'always', description: 'Use colored output')
option('b_coverage', type: 'boolean', value: false, description: 'Enable coverage tracking')
option('b_lundef', type: 'boolean', value: true, description: 'Don\'t allow undefined symbols when linking')
option('b_lto', type: 'boolean', value: false, description: 'Use link time optimization')
option('b_lto_threads', type: 'integer', value: 0, description: 'Use multiple threads for lto')
option('b_lto_mode', type: 'string', value: 'default', description: 'Select between lto modes, thin and default')
option('b_thinlto_cache', type: 'boolean', value: false, description: 'Enable LLVM\'s ThinLTO cache for faster incremental builds')
option('b_thinlto_cache_dir', type: 'string', value: 'build/thinlto_cache', description: 'Specify where to store ThinLTO cache objects')
option('b_ndebug', type: 'boolean', value: false, description: 'Disable asserts')
option('b_pch', type: 'boolean', value: true, description: 'Use precompiled headers')
option('b_pgo', type: 'string', value: 'off', description: 'Use profile guided optimization')
option('b_sanitize', type: 'string', value: 'none', description: 'Code sanitizer to use')
option('b_staticpic', type: 'boolean', value: true, description: 'Build static libraries as position independent')
option('b_pie', type: 'boolean', value: false, description: 'Build position-independent executables')
option('b_vscrt', type: 'string', value: 'from_buildtype', description: 'VS runtime library to use')

# compiler options
option('c_args', type: 'array', value: [], description: 'C compile arguments to use')
option('c_link_args', type: 'array', value: [], description: 'C link arguments to use')
option('c_std', type: 'string', value: 'none', description: 'C language standard to use')
option('c_winlibs', type: 'array', value: [], description: 'Standard Windows libs to link against')
option('c_thread_count', type: 'integer', value: 4, description: 'Number of threads to use with emcc when using threads')
option('cpp_args', type: 'array', value: [], description: 'C++ compile arguments to use')
option('cpp_link_args', type: 'array', value: [], description: 'C++ link arguments to use')
option('cpp_std', type: 'string', value: 'none', description: 'C++ language standard to use')
option('cpp_debugstl', type: 'boolean', value: false, description: 'C++ STL debug mode')
option('cpp_eh', type: 'string', value: 'default', description: 'C++ exception handling type')
option('cpp_rtti', type: 'boolean', value: true, description: 'Whether to enable RTTI (runtime type identification)')
option('cpp_thread_count', type: 'integer', value: 4, description: 'Number of threads to use with emcc when using threads')
option('cpp_winlibs', type: 'array', value: [], description: 'Standard Windows libs to link against')
option('fortran_std', type: 'string', value: 'none', description: 'Fortran language standard to use')
option('rust_dynamic_std', type: 'boolean', value: false, description: 'Whether to link dynamically to the Rust standard library')
option('cuda_ccbindir', type: 'string', value: '', description: 'CUDA non-default toolchain directory to use (-ccbin)')