meson.build 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. project('libdng', 'c',
  2. version: '0.1.0',
  3. license: 'GPL',
  4. )
  5. libtiff = dependency('libtiff-4')
  6. # We use libtool-version numbers because it's easier to understand.
  7. # Before making a release, the libdng_so_*
  8. # numbers should be modified. The components are of the form C:R:A.
  9. # a) If binary compatibility has been broken (eg removed or changed interfaces)
  10. # change to C+1:0:0.
  11. # b) If interfaces have been changed or added, but binary compatibility has
  12. # been preserved, change to C+1:0:A+1
  13. # c) If the interface is the same as the previous version, change to C:R+1:A
  14. libdng_lt_c=1
  15. libdng_lt_r=0
  16. libdng_lt_a=0
  17. libdng_so_version = '@0@.@1@.@2@'.format((libdng_lt_c - libdng_lt_a),
  18. libdng_lt_a,
  19. libdng_lt_r)
  20. inc = include_directories('include')
  21. install_headers('include/libdng.h')
  22. lib_src = [
  23. 'src/libdng.c',
  24. 'src/dng.h',
  25. 'src/mode.c',
  26. 'src/mode.h',
  27. ]
  28. add_project_arguments(['-Wno-multichar'], language: 'c')
  29. libdng = shared_library('dng', lib_src,
  30. version: libdng_so_version,
  31. include_directories: inc,
  32. dependencies: libtiff,
  33. install: true
  34. )
  35. pkg_mod = import('pkgconfig')
  36. pkg_mod.generate(libraries: libdng,
  37. version: libdng_so_version,
  38. name: 'libdng',
  39. filebase: 'libdng',
  40. description: 'The wrapper library to generate DNG files with libtiff')
  41. executable('makedng', 'util/makedng.c',
  42. link_with: libdng,
  43. include_directories: inc,
  44. install: true,
  45. )