meson: add options for docs, unit tests and binding

This commit is contained in:
Brian McKenna 2024-11-06 00:14:45 +11:00
parent a9c417dbab
commit f7abc297ca
2 changed files with 30 additions and 13 deletions

View file

@ -22,11 +22,13 @@ subproject('libcmd')
subproject('nix')
# Docs
if get_option('doc-gen')
subproject('internal-api-docs')
subproject('external-api-docs')
if not meson.is_cross_build()
subproject('nix-manual')
endif
endif
# External C wrapper libraries
subproject('libutil-c')
@ -35,11 +37,12 @@ subproject('libexpr-c')
subproject('libmain-c')
# Language Bindings
if not meson.is_cross_build()
if get_option('bindings') and not meson.is_cross_build()
subproject('perl')
endif
# Testing
if get_option('unit-tests')
subproject('libutil-test-support')
subproject('libutil-tests')
subproject('libstore-test-support')
@ -48,4 +51,5 @@ subproject('libfetchers-tests')
subproject('libexpr-test-support')
subproject('libexpr-tests')
subproject('libflake-tests')
endif
subproject('nix-functional-tests')

13
meson.options Normal file
View file

@ -0,0 +1,13 @@
# vim: filetype=meson
option('doc-gen', type : 'boolean', value : true,
description : 'Generate documentation',
)
option('unit-tests', type : 'boolean', value : true,
description : 'Build unit tests',
)
option('bindings', type : 'boolean', value : true,
description : 'Build language bindings (e.g. Perl)',
)