From: Andrei Pavel Date: Mon, 10 Feb 2025 10:11:15 +0000 (+0200) Subject: [#3729] Fix yang dependency detection X-Git-Tag: Kea-2.7.7~240 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=43885f1174fee63d4d34daa165c88118532c2250;p=thirdparty%2Fkea.git [#3729] Fix yang dependency detection --- diff --git a/meson.build b/meson.build index 014d6b3434..be036de1a2 100644 --- a/meson.build +++ b/meson.build @@ -240,19 +240,30 @@ netconf_deps_array = [] netconf_deps_found = true foreach dep : ['yang', 'yang-cpp', 'sysrepo', 'sysrepo-cpp'] netconf_deps = netconf_deps + {dep: dependency(dep, required: false)} - if not netconf_deps[dep].found() - lib = cpp.find_library(dep, dirs: [f'/opt/@dep@/lib'], required: false) - if lib.found() - netconf_deps = netconf_deps + { - dep: declare_dependency( - dependencies: [lib], - include_directories: include_directories( - f'/opt/@dep@/include', - ), + if netconf_deps[dep].found() + continue + endif + + # Try adding lib to it. libyang and libyang-cpp define the wrong pkg-config. + netconf_deps = netconf_deps + {dep: dependency('lib' + dep, required: false)} + if netconf_deps[dep].found() + continue + endif + + # Search in /opt. + lib = cpp.find_library(dep, dirs: [f'/opt/@dep@/lib'], required: false) + if lib.found() + netconf_deps = netconf_deps + { + dep: declare_dependency( + dependencies: [lib], + include_directories: include_directories( + f'/opt/@dep@/include', ), - } - endif + ), + } endif +endforeach +foreach dep : ['yang', 'yang-cpp', 'sysrepo', 'sysrepo-cpp'] if netconf_deps[dep].found() netconf_deps_array += netconf_deps[dep] else