meson.build 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. project('postprocessd', 'c', 'cpp', version: '0.1.2',
  2. default_options : ['c_std=c11', 'cpp_std=c++11'])
  3. add_project_arguments('-D_GNU_SOURCE', language : 'c')
  4. add_project_arguments('-D_GNU_SOURCE', language : 'cpp')
  5. raw = dependency('libraw')
  6. tiff = dependency('libtiff-4')
  7. jpeg = dependency('libjpeg')
  8. exif = dependency('libexif')
  9. cv = dependency('opencv4')
  10. executable('postprocessd', 'main.c','postprocess.c', 'stacker.cpp', 'stackercpp.cpp', 'util.c',
  11. dependencies: [raw, tiff, jpeg, exif, cv],
  12. install: true)
  13. executable('postprocess-single', 'single.c','postprocess.c', 'stacker.cpp', 'stackercpp.cpp', 'util.c',
  14. dependencies: [raw, tiff, jpeg, exif, cv],
  15. install: true)
  16. # Build and install the man pages
  17. scdoc = dependency('scdoc', native: true, required: get_option('man-pages'))
  18. if scdoc.found()
  19. scdoc_prog = find_program(scdoc.get_pkgconfig_variable('scdoc'), native: true)
  20. sh = find_program('sh', native: true)
  21. mandir = get_option('mandir')
  22. man_files = [
  23. 'doc/postprocess-single.1.scd',
  24. ]
  25. foreach filename : man_files
  26. topic = filename.split('.')[-3].split('/')[-1]
  27. section = filename.split('.')[-2]
  28. output = '@0@.@1@'.format(topic, section)
  29. custom_target(
  30. output,
  31. input: filename,
  32. output: output,
  33. command: [
  34. sh, '-c', '@0@ < @INPUT@ > @1@'.format(scdoc_prog.path(), output)
  35. ],
  36. install: true,
  37. install_dir: '@0@/man@1@'.format(mandir, section)
  38. )
  39. endforeach
  40. endif