RESOURCE

FRAMEWORKBUNDLE 中指定資源檔案。

標記有 FRAMEWORKBUNDLE 屬性的目標會產生框架或應用程式套件(同時支援 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