CMake seems to be generating libmem.a, but it is not really statically linked against its dependencies, like Capstone, Keystone, and LIEF. This only happens when it tries to build libmem as a static library, and link all of the other static libraries into it. When generating a shared library, it does get properly statically linked.
Doing this would avoid issues like undefined references on user programs that are only linking against libmem, and not its dependencies.
CMake seems to be generating
libmem.a
, but it is not really statically linked against its dependencies, like Capstone, Keystone, and LIEF. This only happens when it tries to build libmem as a static library, and link all of the other static libraries into it. When generating a shared library, it does get properly statically linked. Doing this would avoid issues like undefined references on user programs that are only linking against libmem, and not its dependencies.