如何在Xcode中使用CMake添加“复制Bundle资源”阶段?

4

我有一个使用CMake(版本为3.12.2)生成iOS Xcode项目的项目。我已经通过CMake配置了几乎所有我需要的东西,除了一个:复制Bundle资源阶段。

虽然这是一个常见的任务,但我找不到任何关于如何完成此任务的信息。每次重新生成我的项目时,我都不能只是将其留下并手动添加该阶段。

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

2个回答

4

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

目标源(${TARGET} 公共 ${png_path})

set_source_files_properties(${png_path} 属性 MACOSX_PACKAGE_LOCATION 资源)

YOUR_PNG_DIR 可以是 CMake 宏。


请注意,使用您的代码会出现以下警告:“未设置策略CMP0076:target_sources()命令将相对路径转换为绝对路径。运行“cmake --help-policy CMP0076”以获取策略详细信息。使用cmake_policy命令设置策略并消除此警告。”您可以通过将“PUBLIC”更改为“PRIVATE”来消除错误。 - Jyaif

3

关键词:RESOURCE

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

add_executable(可执行目标 addDemo.c 资源文件.txt
应用程序资源目录/appres.txt )

target_link_libraries(可执行目标 heymath mul)

set(RESOURCE_FILES 资源文件.txt 应用程序资源目录/appres.txt )

set_target_properties(可执行目标 属性 MACOSX_BUNDLE TRUE MACOSX_FRAMEWORK_IDENTIFIER org.cmake.可执行目标 RESOURCE "${RESOURCE_FILES}" )


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接