aboutsummaryrefslogtreecommitdiff
path: root/contrib/meson/meson/contrib/gen_manual/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/meson/meson/contrib/gen_manual/meson.build')
-rw-r--r--contrib/meson/meson/contrib/gen_manual/meson.build57
1 files changed, 28 insertions, 29 deletions
diff --git a/contrib/meson/meson/contrib/gen_manual/meson.build b/contrib/meson/meson/contrib/gen_manual/meson.build
index a872bd6c..84a95a9b 100644
--- a/contrib/meson/meson/contrib/gen_manual/meson.build
+++ b/contrib/meson/meson/contrib/gen_manual/meson.build
@@ -1,5 +1,6 @@
# #############################################################################
-# Copyright (c) 2018-present lzutao <taolzu(at)gmail.com>
+# Copyright (c) 2018-present lzutao <taolzu(at)gmail.com>
+# Copyright (c) 2022-present Tristan Partin <tristan(at)partin.io>
# All rights reserved.
#
# This source code is licensed under both the BSD-style license (found in the
@@ -7,37 +8,35 @@
# in the COPYING file in the root directory of this source tree).
# #############################################################################
-lz4_root_dir = '../../../../..'
+lz4_source_root = '../../../../..'
add_languages('cpp')
-cxx = meson.get_compiler('cpp')
-gen_manual_includes = include_directories(join_paths(lz4_root_dir, 'contrib/gen_manual'))
+sources = files(
+ lz4_source_root / 'contrib/gen_manual/gen_manual.cpp'
+)
-gen_manual_cppflags = cxx.get_supported_arguments(['-Wextra', '-Wcast-qual',
- '-Wcast-align', '-Wshadow', '-Wstrict-aliasing=1', '-Wswitch-enum',
- '-Wno-comment'])
-
-gen_manual = executable('gen_manual',
- join_paths(lz4_root_dir, 'contrib/gen_manual/gen_manual.cpp'),
- cpp_args: gen_manual_cppflags,
- include_directories: gen_manual_includes,
+gen_manual = executable(
+ 'gen_manual',
+ sources,
native: true,
- install: false)
+ install: false
+)
+
+manual_pages = ['lz4', 'lz4frame']
-# Update lz4 manual
-lz4_manual_html = custom_target('lz4_manual.html',
- output : 'lz4_manual.html',
- command : [gen_manual,
- lz4_version,
- join_paths(meson.current_source_dir(), lz4_root_dir, 'lib/lz4.h'),
- '@OUTPUT@'],
- install : false)
-# Update lz4frame manual
-lz4_manual_html = custom_target('lz4frame_manual.html',
- output : 'lz4frame_manual.html',
- command : [gen_manual,
- lz4_version,
- join_paths(meson.current_source_dir(), lz4_root_dir, 'lib/lz4frame.h'),
- '@OUTPUT@'],
- install : false)
+foreach mp : manual_pages
+ custom_target(
+ '@0@_manual.html'.format(mp),
+ build_by_default: true,
+ input: lz4_source_root / 'lib/@0@.h'.format(mp),
+ output: '@0@_manual.html'.format(mp),
+ command: [
+ gen_manual,
+ lz4_version,
+ '@INPUT@',
+ '@OUTPUT@',
+ ],
+ install: false
+ )
+endforeach