Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5ec2c52

Browse files
committed
meson: Add dependency lookups via names used by cmake
Particularly on windows it's useful to look up dependencies via cmake, insteadof pkg-config. Meson supports doing so. Unfortunately the dependency namesused by various projects often differs between their pkg-config and cmakefiles.This would look a lot neater if we could rely on meson >= 0.60.0...Reviewed-by: Tristan Partin <tristan@partin.io>Discussion:https://postgr.es/m/20240709065101.xhc74r3mdg2lmn4w@awork3.anarazel.deBackpatch: 16-, where meson support was added
1 parent2416fdb commit5ec2c52

File tree

1 file changed

+40
-6
lines changed

1 file changed

+40
-6
lines changed

‎meson.build

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -813,11 +813,25 @@ endif
813813

814814
icuopt=get_option('icu')
815815
ifnot icuopt.disabled()
816-
icu=dependency('icu-uc',required: icuopt)
817-
icu_i18n=dependency('icu-i18n',required: icuopt)
816+
icu=dependency('icu-uc',required:false)
817+
if icu.found()
818+
icu_i18n=dependency('icu-i18n',required:true)
819+
endif
820+
821+
# Unfortunately the dependency is named differently with cmake
822+
ifnot icu.found()# combine with above once meson 0.60.0 is required
823+
icu=dependency('ICU',required: icuopt,
824+
components: ['uc'],modules: ['ICU::uc'],method:'cmake')
825+
if icu.found()
826+
icu_i18n=dependency('ICU',required:true,
827+
components: ['i18n'],modules: ['ICU::i18n'])
828+
endif
829+
endif
818830

819831
if icu.found()
820832
cdata.set('USE_ICU',1)
833+
else
834+
icu_i18n= not_found_dep
821835
endif
822836

823837
else
@@ -833,7 +847,12 @@ endif
833847

834848
libxmlopt=get_option('libxml')
835849
ifnot libxmlopt.disabled()
836-
libxml=dependency('libxml-2.0',required: libxmlopt,version:'>= 2.6.23')
850+
libxml=dependency('libxml-2.0',required:false,version:'>= 2.6.23')
851+
# Unfortunately the dependency is named differently with cmake
852+
ifnot libxml.found()# combine with above once meson 0.60.0 is required
853+
libxml=dependency('LibXml2',required: libxmlopt,version:'>= 2.6.23',
854+
method:'cmake')
855+
endif
837856

838857
if libxml.found()
839858
cdata.set('USE_LIBXML',1)
@@ -850,7 +869,11 @@ endif
850869

851870
libxsltopt=get_option('libxslt')
852871
ifnot libxsltopt.disabled()
853-
libxslt=dependency('libxslt',required: libxsltopt)
872+
libxslt=dependency('libxslt',required:false)
873+
# Unfortunately the dependency is named differently with cmake
874+
ifnot libxslt.found()# combine with above once meson 0.60.0 is required
875+
libxslt=dependency('LibXslt',required: libxsltopt,method:'cmake')
876+
endif
854877

855878
if libxslt.found()
856879
cdata.set('USE_LIBXSLT',1)
@@ -867,7 +890,13 @@ endif
867890

868891
lz4opt=get_option('lz4')
869892
ifnot lz4opt.disabled()
870-
lz4=dependency('liblz4',required: lz4opt)
893+
lz4=dependency('liblz4',required:false)
894+
# Unfortunately the dependency is named differently with cmake
895+
ifnot lz4.found()# combine with above once meson 0.60.0 is required
896+
lz4=dependency('lz4',required: lz4opt,
897+
method:'cmake',modules: ['LZ4::lz4_shared'],
898+
)
899+
endif
871900

872901
if lz4.found()
873902
cdata.set('USE_LZ4',1)
@@ -1486,7 +1515,12 @@ endif
14861515

14871516
zstdopt=get_option('zstd')
14881517
ifnot zstdopt.disabled()
1489-
zstd=dependency('libzstd',required: zstdopt,version:'>=1.4.0')
1518+
zstd=dependency('libzstd',required:false,version:'>=1.4.0')
1519+
# Unfortunately the dependency is named differently with cmake
1520+
ifnot zstd.found()# combine with above once meson 0.60.0 is required
1521+
zstd=dependency('zstd',required: zstdopt,version:'>=1.4.0',
1522+
method:'cmake',modules: ['zstd::libzstd_shared'])
1523+
endif
14901524

14911525
if zstd.found()
14921526
cdata.set('USE_ZSTD',1)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp