如果我制作项目,我可以看到:
[ 50%] Building C object CMakeFiles/hello.dir/hello.c.obj
/cygdrive/c/users/me/Home/bin/iccarm /cygdrive/c/users/me/Home/sandbox/iar/hello.c -I/cygdrive/c/users/me/Home/sandbox/iar/foo -I/cygdrive/c/users/me/Home/inc -o CMakeFiles/hello.dir/hello.c.obj
由于我总是在make
目录中调用build
,为什么不使用相对路径以提高操作系统的可读性和兼容性?
[ 50%] Building C object CMakeFiles/hello.dir/hello.c.obj
iccarm hello.c -Ifoo -Iinc -o CMakeFiles/hello.dir/hello.c.obj
不是很好吗?
有没有办法强制CMake尽可能多地使用相对路径?
答案 0 :(得分:3)
CMake总是使用绝对路径。它是这个概念的一部分。因此,您无法移动生成的构建环境文件,例如将它们置于源代码管理之下或使详细输出更漂亮(您可以使用here之类的规则消息稍微玩一下。
曾经有CMAKE_USE_RELATIVE_PATHS
,但文档显示:
此变量无效。在CMake 3.4中删除了以前版本中部分实现的效果。
<强>参考强>