meson.build 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. project('jp2-pixbuf-loader', 'c')
  2. gdk_pixbuf = dependency('gdk-pixbuf-2.0', method: 'pkg-config')
  3. gdk_pixbuf_moduledir = gdk_pixbuf.get_pkgconfig_variable('gdk_pixbuf_moduledir', define_variable: ['prefix', get_option('prefix')])
  4. gdk_pixbuf_query_loaders = gdk_pixbuf.get_pkgconfig_variable('gdk_pixbuf_query_loaders')
  5. gdk_pixbuf_query_loaders = find_program(get_option('gdk_pixbuf_query_loaders_path'), gdk_pixbuf_query_loaders, gdk_pixbuf_query_loaders+'-32', gdk_pixbuf_query_loaders+'-64')
  6. cc = meson.get_compiler('c')
  7. openjpeg = dependency('libopenjp2', method: 'pkg-config', required: cc.get_argument_syntax() != 'msvc')
  8. if not openjpeg.found()
  9. openjpeg = dependency('OpenJPEG', method: 'cmake')
  10. endif
  11. if get_option('buildtype') == 'debug'
  12. add_global_arguments('-DDEBUG=TRUE', language: 'c')
  13. endif
  14. pixbuf_loader_openjpeg = shared_library(
  15. 'pixbufloader-jp2',
  16. 'src/io-jp2.c',
  17. include_directories: 'src/',
  18. dependencies: [gdk_pixbuf, openjpeg],
  19. install: true,
  20. install_dir: gdk_pixbuf_moduledir,
  21. )
  22. cdata = configuration_data()
  23. cdata.set('bindir', get_option('prefix') / get_option('bindir'))
  24. configure_file(
  25. input: 'jp2-pixbuf.thumbnailer.in',
  26. output: 'jp2-pixbuf.thumbnailer',
  27. configuration: cdata,
  28. install: true,
  29. install_dir: get_option('datadir') / 'thumbnailers',
  30. )
  31. meson.add_install_script(gdk_pixbuf_query_loaders.path(), '--update-cache')
  32. subdir('tests')