RESOURCE¶
标记有 FRAMEWORK
或 BUNDLE
属性的目标会生成框架或应用程序包(macOS 和 iOS 都支持),或者在其他平台上生成普通的共享库。此属性可以设置为文件列表,这些文件将放置在捆绑包内对应的目录中(例如,macOS 的 Resources
目录)。在非 Apple 平台上,这些文件可以使用 install(TARGETS)
命令的 RESOURCE
选项进行安装。
以下是应用程序包的示例
add_executable(ExecutableTarget
addDemo.c
resourcefile.txt
appresourcedir/appres.txt)
target_link_libraries(ExecutableTarget heymath mul)
set(RESOURCE_FILES
resourcefile.txt
appresourcedir/appres.txt)
set_target_properties(ExecutableTarget PROPERTIES
MACOSX_BUNDLE TRUE
MACOSX_FRAMEWORK_IDENTIFIER org.cmake.ExecutableTarget
RESOURCE "${RESOURCE_FILES}")
将为 iOS 系统生成扁平结构
ExecutableTarget.app
appres.txt
ExecutableTarget
Info.plist
resourcefile.txt
对于 macOS 系统,它将生成以下目录结构
ExecutableTarget.app/
Contents
Info.plist
MacOS
ExecutableTarget
Resources
appres.txt
resourcefile.txt
对于 Linux,此类 CMake 脚本会生成以下文件
ExecutableTarget
Resources
appres.txt
resourcefile.txt