check a binary's unresolved symbols are all provided by its direct dependencies (as some dynamic loaders don't support when a symbol is provided by a transitive dependency, e.g. Android KitKat)
don't check (intermediate) libraries under build/xxx/cmake
move generated stub libraries to the staging directory (so they get cleaned with make clean)
build/xxx/cmake
make clean
)This would have prevented https://github.com/koreader/koreader/issues/12190 & https://github.com/koreader/koreader/issues/12207, and found 3 additional issues:
libstdc++
CoreFoundation
framework on macOSlibpthread
, but is not on older (<=3.25) CMake versionsThis change is