cmake, meson: Align Darwin version info with Autotools
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c23fe75..bd43a2e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -411,6 +411,7 @@
 set(LIBXML_MINOR_COMPAT 14)
 math(EXPR LIBXML_SOVERSION "${LIBXML_MAJOR_VERSION} + ${LIBXML_MINOR_COMPAT}")
 math(EXPR LIBXML_AGE "${LIBXML_MINOR_VERSION} - ${LIBXML_MINOR_COMPAT}")
+math(EXPR LIBXML_MACHO_COMPAT "${LIBXML_SOVERSION} + 1")
 set_target_properties(
     LibXml2
     PROPERTIES
@@ -420,6 +421,8 @@
     PREFIX lib
     VERSION "${LIBXML_SOVERSION}.${LIBXML_AGE}.${LIBXML_MICRO_VERSION}"
     SOVERSION ${LIBXML_SOVERSION}
+    MACHO_COMPATIBILITY_VERSION ${LIBXML_MACHO_COMPAT}
+    MACHO_CURRENT_VERSION "${LIBXML_MACHO_COMPAT}.${LIBXML_MICRO_VERSION}"
 )
 
 if(MSVC)
diff --git a/meson.build b/meson.build
index e3f91d4..c2510dc 100644
--- a/meson.build
+++ b/meson.build
@@ -480,6 +480,7 @@
 v_min_compat = 14
 so_version = v_maj + v_min_compat
 age = v_min - v_min_compat
+darwin_compat = so_version + 1
 xml_lib = library(
     'xml2',
     files(xml_src),
@@ -489,6 +490,7 @@
     install: true,
     version: f'@so_version@.@age@.@v_mic@',
     soversion: so_version,
+    darwin_versions: [ darwin_compat, f'@darwin_compat@.@v_mic@' ],
 )
 
 dep_inc = include_directories('include')