如何正确地向项目添加资源?

| 我有一个组织如下的项目:
include/
src/
share/myprogram/
其中“ 2”包含资源。 我的程序正在使用相对路径访问这些资源。可执行文件希望在
../share/myprogram/
中找到它们。 我想在跑步时:
mkdir build
cd build
cmake ..
make
发生以下情况: 制作一个
bin
目录 编译并将可执行文件放入ѭ7 将
share
目录复制到
build
目录中 我正在寻找一种做到这一点的干净方法。理想情况下,我希望CMake将资源视为资源。 我知道我可以使用copy custom命令。这是实现这一目标的唯一方法吗? 奖金 如果在使用Xcode生成器时资源可以出现在Xcode的“资源”下,并且副本是mybin目标下的干净副本阶段,那将是很棒的(这就是CMake将资源视为资源的意思。 ) 更新: 到目前为止,我有:
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
add_executable(mybin ${Headers} ${Sources})

add_custom_target(
    Resources ALL
    ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/share ${PROJECT_BINARY_DIR}/share
    SOURCES ${Resources}
)
    
已邀请:
您可以使用Configure_file将文件从源目录复制到二进制目录。它具有参数Copyonly。     
我正在做一个unix命令行工具,我没有做Mac OS X捆绑软件,而Xcode的资源文件夹仅用于捆绑软件资源,所以请不要多加钱。 我意识到自己做的事情不正确。 使用相对路径访问资源并不可靠,因为可以从任何地方执行该程序。 我要做的是在文件夹的层次结构中查找资源,从用户指定的开始,到环境变量,再到相对目录,最后到标准的UNIX目录。 因此,实际上,不再需要在构建过程中进行复制。仅安装很重要,这很容易:
install(DIRECTORY share/ DESTINATION share)
仅供参考,由于我喜欢在Xcode中显示资源,因此我将ѭ12保留为原样,并将其命名为
Resources
使它看起来很漂亮:)     

要回复问题请先登录注册