This question询问类似的问题,但只需要手动指定要复制的dll。我的问题是:有没有办法简单地让CMake复制链接到可执行库的所有dll,而无需手动告诉CMake要复制哪些文件?有时CMake更了解是否需要dll。例如,在安装了同一个库(例如Boost)的dll和静态库并且我们选择静态链接到Boost的系统中,我们不需要复制dll。因此,CMake可以做出比手动指定要复制的文件更好的决策。另一个例子是,我的QT库链接到ICU库,当写CMakeLists.txt时,我对此一无所知,所以我不可能告诉CMake复制ICU dll,所以这应该由CMake而不是人
假设操作系统是Windows。
答案 0 :(得分:2)
查看提供BundleUtilities.cmake
fixup_bundle(...)
详情可在此处找到:
http://www.cmake.org/Wiki/BundleUtilitiesExample
http://www.cmake.org/cmake/help/v2.8.8/cmake.html#module:BundleUtilities