源代码中的cmake和文件路径

时间:2014-11-12 10:43:45

标签: c file-io cmake

在使用cmake构建时,如何正确使用源代码中的文件路径(相对于项目根目录)?

详细信息: 我有一个基本上这种布局的cmake项目:

project
|-src/
| |-main.c
| |-CMakeLists.c
|-dat/
| |-foo.txt
|-build/

main.c基本上包含一个main函数,它试图打开一个相对于项目根目录指定的文件,即dat/foo.txt。使用cmake构建时,二进制文件位于project/build/src,这也是运行程序时的工作目录。 dat/foo.txt被解释为project/build/src/dat/foo.txt,显然不可用。可以使用../../dat/foo.txt替换源文件中的路径,但这并不是一个干净而且很好的解决方案。

这个stackoverflow post表示没有简单的方法来设置由cmake执行的代码的工作目录(此外,答案是指Visual Studio的解决方案,我没有使用它)。

此问题的最佳做法是什么?

0 个答案:

没有答案