edid-decode: build: Use override_find_program to help subproject usage
[edid-decode.git] / meson.build
blob2340714bc879711202e509f64ff2f594ae5e998d
1 project(
2         'edid-decode',
3         'cpp',
6 edid_decode_args = [
7         '-Wno-missing-field-initializers',
8         '-Wno-unused-parameter',
9         '-Wimplicit-fallthrough',
11 edid_decode_link_args = []
13 git = find_program('git', native: true, required: false)
14 if git.found()
15         git_commit = run_command(
16                 [git, 'rev-parse', '--short=12', 'HEAD'],
17                 check: false,
18         )
19         git_date = run_command(
20                 [git, 'show', '--quiet', '--date=format-local:%F %T', '--format=%cd'],
21                 env: {'TZ': 'UTC'},
22                 check: false,
23         )
25         if git_commit.returncode() == 0
26                 edid_decode_args += ['-DSHA=' + git_commit.stdout().strip()]
27         endif
28         if git_date.returncode() == 0
29                 edid_decode_args += ['-DDATE=' + git_date.stdout().strip()]
30         endif
31 endif
33 if target_machine.system() == 'emscripten'
34         edid_decode_link_args += [
35                 '-sEXPORTED_FUNCTIONS=_parse_edid',
36                 '-sEXPORTED_RUNTIME_METHODS=ccall,cwrap'
37         ]
39         fs = import('fs')
40         foreach filename : ['edid-decode.html', 'edid-decode.ico']
41                 fs.copyfile(
42                         'emscripten' / filename,
43                         install: true,
44                         install_dir: 'bin',
45                 )
46         endforeach
47 endif
49 edid_decode_sources = [
50         'calc-gtf-cvt.cpp',
51         'calc-ovt.cpp',
52         'edid-decode.cpp',
53         'parse-base-block.cpp',
54         'parse-cta-block.cpp',
55         'parse-di-ext-block.cpp',
56         'parse-displayid-block.cpp',
57         'parse-ls-ext-block.cpp',
58         'parse-vtb-ext-block.cpp',
61 edid_decode = executable(
62         'edid-decode',
63         sources: edid_decode_sources,
64         cpp_args: edid_decode_args,
65         link_args: edid_decode_link_args,
66         install: true,
69 meson.override_find_program(
70         'edid-decode',
71         edid_decode,
74 install_man('edid-decode.1')