diff --git a/doc/meson.build b/doc/meson.build new file mode 100644 index 0000000..75e60c7 --- /dev/null +++ b/doc/meson.build @@ -0,0 +1,5 @@ +install_man( + 'cuebreakpoints.1', + 'cueconvert.1', + 'cueprint.1', +) diff --git a/extras/meson.build b/extras/meson.build new file mode 100644 index 0000000..e69de29 diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..83f59e9 --- /dev/null +++ b/meson.build @@ -0,0 +1,33 @@ +project('cuetools', + 'c', + version: '1.4.0', + meson_version: '>=0.0.0', + default_options: [ + 'c_std=gnu17', + 'warning_level=3', + ], +) + +####################################### +# Flex / Bison generators + +flex = find_program('flex') +bison = find_program('bison') + +lgen = generator(flex, + output : '@PLAINNAME@.c', + arguments : [ '-o', '@OUTPUT@', '@INPUT@', ], +) + +ygen = generator(bison, + output : [ '@BASENAME@.c', '@BASENAME@.h' ], + arguments : [ + '@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@', + '--color=always', '-d', + ], +) + + +subdir('doc') +subdir('src') +subdir('extras') diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..e69de29 diff --git a/src/lib/meson.build b/src/lib/meson.build new file mode 100644 index 0000000..7563d06 --- /dev/null +++ b/src/lib/meson.build @@ -0,0 +1,22 @@ +libcuefile_sources = [ + 'cd.c', + 'cdtext.c', + 'time.c', + 'cuefile.c', + 'cue_print.c', + 'toc_print.c', +] +libcuefile_sources += lgen.process( + 'cue_scan.l', + 'toc_scan.l', +) +libcuefile_sources += ygen.process( + 'cue_parse.y', + 'toc_parse.y', +) + +libcuefile = static_library('cuefile', + libcuefile_sources, +) + +libcuefile_include_directories = include_directories('.') diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..d598e95 --- /dev/null +++ b/src/meson.build @@ -0,0 +1,2 @@ +subdir('lib') +subdir('tools') diff --git a/src/tools/meson.build b/src/tools/meson.build new file mode 100644 index 0000000..bb41f81 --- /dev/null +++ b/src/tools/meson.build @@ -0,0 +1,17 @@ +tools = [ + 'cuebreakpoints', + 'cueconvert', + 'cueprint', +] + +foreach tool : tools + executable(tool, + tool + '.c', + link_with: libcuefile, + include_directories: libcuefile_include_directories, + ) +endforeach + +install_data('cuetag.sh', + install_dir: get_option('bindir'), +)