2

This question询问类似的问题,但只需要手动指定要复制的dll。我的问题是:有没有办法让 CMake 复制链接到可执行库的所有 dll,而无需手动告诉 CMake 要复制哪些文件?有时 CMake 更了解是否需要 dll。例如,在一个同时安装了同一个库(例如 Boost)的 dll 和静态库的系统中,我们选择静态链接到 Boost,那么我们不需要复制 dll。因此,与手动指定要复制的文件相比,CMake 可以做出更好的决定。另一个例子是,我的 QT 库链接到 ICU 库,在编写 CMakeLists.txt 时,我对此一无所知,所以我不可能告诉 CMake 复制 ICU dll,所以这应该由 CMake 而不是人类。

假设操作系统是 Windows。

4

1 回答 1

2

Have a look at CMake's BundleUtilities.cmake which provides fixup_bundle(...)

Details can be found here:

http://www.cmake.org/Wiki/BundleUtilitiesExample

http://www.cmake.org/cmake/help/v2.8.8/cmake.html#module:BundleUtilities

于 2012-12-30T10:40:40.013 回答