file(GET_RUNTIME_DEPENDENCIES
RESOLVED_DEPENDENCIES_VAR RES
UNRESOLVED_DEPENDENCIES_VAR UNRES
CONFLICTING_DEPENDENCIES_PREFIX CONFLICTING_DEPENDENCIES
EXECUTABLES $<TARGET_FILE:${targetName}>)
My goal is to be able to install the dependencies on any dev machine. UNRES only contains a list of API files (msvc toolset) as it doesn’t know where they are, just that the target needs them.
I’ve attempted to couple this with find_path() but it’ll return the local path where it’s expected to be in the target, not the actual path to that dll.
They’re unresolved because it is unknown where they live. Otherwise they’d be in RES in your example .
As for the ms-api- and other similar DLLs, these are “fake” DLLs and are a technique Microsoft is using to make ABI compatibility more granular (instead of a single massive MSVCRT DLL). See the discussion here for more details on it and a potential mechanism CMake can provide to help users out with these specific DLLs.