meson: use more subdir meson files
Makes the main one smaller. Signed-off-by: Rosen Penev <rosenp@gmail.com>main
parent
db25f13351
commit
ec561bb185
@ -0,0 +1,55 @@
|
||||
headers = files(
|
||||
'exiv2/basicio.hpp',
|
||||
'exiv2/bmffimage.hpp',
|
||||
'exiv2/bmpimage.hpp',
|
||||
'exiv2/config.h',
|
||||
'exiv2/convert.hpp',
|
||||
'exiv2/cr2image.hpp',
|
||||
'exiv2/crwimage.hpp',
|
||||
'exiv2/datasets.hpp',
|
||||
'exiv2/easyaccess.hpp',
|
||||
'exiv2/epsimage.hpp',
|
||||
'exiv2/error.hpp',
|
||||
'exiv2/exif.hpp',
|
||||
'exiv2/exiv2.hpp',
|
||||
'exiv2/futils.hpp',
|
||||
'exiv2/gifimage.hpp',
|
||||
'exiv2/http.hpp',
|
||||
'exiv2/image.hpp',
|
||||
'exiv2/image_types.hpp',
|
||||
'exiv2/iptc.hpp',
|
||||
'exiv2/jp2image.hpp',
|
||||
'exiv2/jpgimage.hpp',
|
||||
'exiv2/metadatum.hpp',
|
||||
'exiv2/mrwimage.hpp',
|
||||
'exiv2/orfimage.hpp',
|
||||
'exiv2/pgfimage.hpp',
|
||||
'exiv2/photoshop.hpp',
|
||||
'exiv2/pngimage.hpp',
|
||||
'exiv2/preview.hpp',
|
||||
'exiv2/properties.hpp',
|
||||
'exiv2/psdimage.hpp',
|
||||
'exiv2/rafimage.hpp',
|
||||
'exiv2/rw2image.hpp',
|
||||
'exiv2/slice.hpp',
|
||||
'exiv2/tags.hpp',
|
||||
'exiv2/tgaimage.hpp',
|
||||
'exiv2/tiffimage.hpp',
|
||||
'exiv2/types.hpp',
|
||||
'exiv2/value.hpp',
|
||||
'exiv2/version.hpp',
|
||||
'exiv2/webpimage.hpp',
|
||||
'exiv2/xmp_exiv2.hpp',
|
||||
'exiv2/xmpsidecar.hpp',
|
||||
)
|
||||
|
||||
headers += exiv_conf
|
||||
headers += cfile
|
||||
if zlib_dep.found()
|
||||
headers += files('exiv2/pngimage.hpp')
|
||||
endif
|
||||
|
||||
install_headers(
|
||||
headers,
|
||||
subdir: 'exiv2',
|
||||
)
|
@ -0,0 +1,130 @@
|
||||
base_lib = files(
|
||||
'asfvideo.cpp',
|
||||
'basicio.cpp',
|
||||
'bmffimage.cpp',
|
||||
'bmpimage.cpp',
|
||||
'cr2image.cpp',
|
||||
'crwimage.cpp',
|
||||
'datasets.cpp',
|
||||
'easyaccess.cpp',
|
||||
'epsimage.cpp',
|
||||
'error.cpp',
|
||||
'exif.cpp',
|
||||
'futils.cpp',
|
||||
'gifimage.cpp',
|
||||
'http.cpp',
|
||||
'image.cpp',
|
||||
'iptc.cpp',
|
||||
'jp2image.cpp',
|
||||
'jpgimage.cpp',
|
||||
'matroskavideo.cpp',
|
||||
'metadatum.cpp',
|
||||
'mrwimage.cpp',
|
||||
'orfimage.cpp',
|
||||
'pgfimage.cpp',
|
||||
'photoshop.cpp',
|
||||
'pngimage.cpp',
|
||||
'preview.cpp',
|
||||
'properties.cpp',
|
||||
'psdimage.cpp',
|
||||
'quicktimevideo.cpp',
|
||||
'rafimage.cpp',
|
||||
'riffvideo.cpp',
|
||||
'rw2image.cpp',
|
||||
'tags.cpp',
|
||||
'tgaimage.cpp',
|
||||
'tiffimage.cpp',
|
||||
'types.cpp',
|
||||
'value.cpp',
|
||||
'version.cpp',
|
||||
'webpimage.cpp',
|
||||
'xmp.cpp',
|
||||
'xmpsidecar.cpp',
|
||||
)
|
||||
|
||||
int_lib = files(
|
||||
'canonmn_int.cpp',
|
||||
'casiomn_int.cpp',
|
||||
'cr2header_int.cpp',
|
||||
'crwimage_int.cpp',
|
||||
'fujimn_int.cpp',
|
||||
'helper_functions.cpp',
|
||||
'image_int.cpp',
|
||||
'jp2image_int.cpp',
|
||||
'makernote_int.cpp',
|
||||
'minoltamn_int.cpp',
|
||||
'nikonmn_int.cpp',
|
||||
'olympusmn_int.cpp',
|
||||
'orfimage_int.cpp',
|
||||
'panasonicmn_int.cpp',
|
||||
'pentaxmn_int.cpp',
|
||||
'pngchunk_int.cpp',
|
||||
'rw2image_int.cpp',
|
||||
'samsungmn_int.cpp',
|
||||
'sigmamn_int.cpp',
|
||||
'sonymn_int.cpp',
|
||||
'tags_int.cpp',
|
||||
'tiffcomposite_int.cpp',
|
||||
'tiffimage_int.cpp',
|
||||
'tiffvisitor_int.cpp',
|
||||
'utils.cpp',
|
||||
)
|
||||
|
||||
exiv2int = static_library(
|
||||
'exiv2int',
|
||||
int_lib,
|
||||
cpp_args: '-DEXIV2API=',
|
||||
dependencies: deps,
|
||||
include_directories: libinc,
|
||||
)
|
||||
|
||||
exiv2int_dep = declare_dependency(
|
||||
include_directories: libinc,
|
||||
link_with: exiv2int,
|
||||
)
|
||||
|
||||
# This is compiled separately, because there are multiple sources for iconv
|
||||
# (methods "builtin" and "system") and it's possible to have the include
|
||||
# directory from one dependency leak over and force the system iconv to be used
|
||||
# instead of the builtin one. This causes miscompilation.
|
||||
convertlib = static_library(
|
||||
'_convert',
|
||||
'convert.cpp',
|
||||
cpp_args: cargs,
|
||||
gnu_symbol_visibility: 'hidden',
|
||||
dependencies: iconv_dep,
|
||||
include_directories: libinc,
|
||||
build_by_default: false,
|
||||
)
|
||||
|
||||
exiv2 = library(
|
||||
'exiv2',
|
||||
base_lib,
|
||||
xmp_lib,
|
||||
cpp_args: cargs,
|
||||
version: meson.project_version(),
|
||||
soversion: sover,
|
||||
gnu_symbol_visibility: 'hidden',
|
||||
link_with: convertlib,
|
||||
dependencies: [deps, exiv2int_dep],
|
||||
install: true,
|
||||
)
|
||||
|
||||
dllapi = '-DEXIV2API='
|
||||
if host_machine.system() == 'windows' and get_option('default_library') != 'static'
|
||||
dllapi = '-DEXIV2API=__declspec(dllimport)'
|
||||
endif
|
||||
|
||||
pkg = import('pkgconfig')
|
||||
pkg.generate(
|
||||
exiv2,
|
||||
description: 'Exif/IPTC/Xmp C++ metadata library and tools plus ICC Profiles, Previews and more.',
|
||||
url: 'https://exiv2.org',
|
||||
)
|
||||
|
||||
exiv2_dep = declare_dependency(
|
||||
compile_args: dllapi,
|
||||
dependencies: intl_dep,
|
||||
include_directories: depinc,
|
||||
link_with: exiv2,
|
||||
)
|
@ -0,0 +1,24 @@
|
||||
if not expat_dep.found()
|
||||
xmp_lib = files()
|
||||
subdir_done()
|
||||
endif
|
||||
|
||||
libinc = [libinc, include_directories('include')]
|
||||
xmp_lib = files(
|
||||
'src/ExpatAdapter.cpp',
|
||||
'src/MD5.cpp',
|
||||
'src/ParseRDF.cpp',
|
||||
'src/UnicodeConversions.cpp',
|
||||
'src/WXMPIterator.cpp',
|
||||
'src/WXMPMeta.cpp',
|
||||
'src/WXMPUtils.cpp',
|
||||
'src/XML_Node.cpp',
|
||||
'src/XMPCore_Impl.cpp',
|
||||
'src/XMPIterator.cpp',
|
||||
'src/XMPMeta-GetSet.cpp',
|
||||
'src/XMPMeta-Parse.cpp',
|
||||
'src/XMPMeta-Serialize.cpp',
|
||||
'src/XMPMeta.cpp',
|
||||
'src/XMPUtils-FileInfo.cpp',
|
||||
'src/XMPUtils.cpp',
|
||||
)
|
Loading…
Reference in New Issue