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