【问题标题】:How to add the Copy Bundle Resources phase with CMake in Xcode?如何在 Xcode 中使用 CMake 添加 Copy Bundle Resources 阶段?
【发布时间】:2019-02-22 15:28:04
【问题描述】:

我有一个生成 iOS Xcode 项目的 CMake (3.12.2) 项目。我设法通过 CMake 配置了我需要的几乎所有东西,除了一件事:Copy Bundle Resources 阶段。

我找不到有关如何执行此操作的任何信息,尽管这是一项常见任务。而且我不能每次重新生成我的项目时都离开它并手动添加这个阶段。

怎么办?我错过了什么明显的东西吗?

【问题讨论】:

    标签: ios xcode cmake


    【解决方案1】:

    set(png_path "${YOUR_PNG_DIR}/test.png")

    target_sources(${TARGET} PUBLIC ${png_path})

    set_source_files_properties(${png_path} PROPERTIES MACOSX_PACKAGE_LOCATION 资源)

    YOUR_PNG_DIR 可以是 cmake 宏

    【讨论】:

    • 请注意,您的代码收到以下警告:“未设置策略 CMP0076:target_sources() 命令将相对路径转换为绝对路径。为策略运行“cmake --help-policy CMP0076”详细信息。使用 cmake_policy 命令设置策略并抑制此警告。您可以通过将“PUBLIC”更改为“PRIVATE”来消除该错误。
    【解决方案2】:

    关键字:资源

    https://cmake.org/cmake/help/latest/prop_tgt/RESOURCE.html

    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}")

    【讨论】:

      猜你喜欢
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-07
      • 2020-03-14
      • 2011-03-06
      • 1970-01-01
      • 2012-05-22
      相关资源
      最近更新 更多