我当前的c ++项目有点问题,它使用cmake自动化构建过程。项目结构并不简单,因为它由几个子项目(其中4个)组成,但我希望这不会影响我的问题。
我的一些子项目在其标题和源文件旁边有一个名为data的文件夹,其中包含许多图像,配置文件和其他一些内容。我想要的是,我的程序可以访问数据目录中的文件,当它在构建目录(由我的IDE)中执行时,以及它是否安装在make install
的某个地方。
当使用以下cmake代码执行make install
时,我已经通过复制数据文件解决了这个问题:
install(FILES ${resources} DESTINATION data)
这似乎有用,但它不是很好,因为我必须列出我的所有资源(它们很多),并且IDE中的执行仍然无法正常工作,因为我的二进制文件中没有资源树。
如何从二叉树中访问我的资源?我认为复制不是一个很好的解决方案,因为我的资源是多兆字节的大,并且每个构建上的复制听起来都很愚蠢。