CMake: Copy Frameworks into App Bundle

2020-02-12 03:39发布

问题:

In my project directory I have some 3rd party frameworks, namely SFML, that I need to copy into the app bundle when I build my app. Any clean way to do that (maybe like the Copy Files Build Phase in Xcode)?

Thanks

回答1:

You should check out CMake's BundleUtilities module.

There's a wiki entry complete with a functioning sample app here:

https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/BundleUtilities

The documentation for the BundleUtilities module is here:

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

I recommend configuring a CMake -P script that calls fixup_bundle appropriately and then using a CMake "install(SCRIPT ...)" command to call that script at install time. Ask more specific questions later if you run into any problems with this approach, or if there's something unclear about the example or documentation.