aboutsummaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorQyriad <qyriad@qyriad.me>2024-04-17 21:48:25 +0000
committerGerrit Code Review <gerrit@lix>2024-04-17 21:48:25 +0000
commitcf0744ceed3b70114ea7b832ae0d02b72d2abfe5 (patch)
treefbc826574b7dc531469adec302269da20b9815da /meson.build
parent6d79aa3d70a65b9eba2982325a8b6d149cbef453 (diff)
parentb81eec6ed56e5a5ad448359fc3d7755b68e59d0b (diff)
Merge "build internal API docs with Meson" into main
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build21
1 files changed, 20 insertions, 1 deletions
diff --git a/meson.build b/meson.build
index bc55c64c4..f62e93d0c 100644
--- a/meson.build
+++ b/meson.build
@@ -79,7 +79,25 @@ if not fs.is_absolute(sysconfdir)
sysconfdir = '/' / sysconfdir
endif
+# All of this has to go before the rest of the dependency checking,
+# so that internal-api-docs can be built with -Denable-build=false
+
enable_docs = get_option('enable-docs')
+enable_internal_api_docs = get_option('internal-api-docs')
+
+doxygen = find_program('doxygen', required : enable_internal_api_docs)
+bash = find_program('bash')
+
+rapidcheck_meson = dependency('rapidcheck', required : enable_internal_api_docs)
+
+if enable_internal_api_docs.enabled()
+ message('subdiring()')
+ subdir('doc/internal-api')
+endif
+
+if not get_option('enable-build')
+ subdir_done()
+endif
enable_tests = get_option('enable-tests')
@@ -223,6 +241,8 @@ lowdown = dependency('lowdown', version : '>=0.9.0', required : true)
deps += lowdown
# HACK(Qyriad): rapidcheck's pkg-config doesn't include the libs lol
+# Note: technically we 'check' for rapidcheck twice, for the internal-api-docs handling above,
+# but Meson will cache the result of the first one, and the required : arguments are different.
rapidcheck_meson = dependency('rapidcheck', required : enable_tests)
rapidcheck = declare_dependency(dependencies : rapidcheck_meson, link_args : ['-lrapidcheck'])
deps += rapidcheck
@@ -252,7 +272,6 @@ deps += lix_doc
#
# Build-time tools
#
-bash = find_program('bash')
coreutils = find_program('coreutils')
dot = find_program('dot', required : false)
pymod = import('python')