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