如果我进行项目,可以看到以下内容:
[ 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尽可能多地使用相对路径?
CMake总是使用绝对路径。这是概念的一部分。因此,您不能移动生成的构建环境文件,也不能例如将其置于源代码控制之下或使冗长的输出更漂亮(您可以像此处的规则消息那样玩一些)。
曾经有CMAKE_USE_RELATIVE_PATHS
,但是文档显示:
此变量无效。在早期版本中已部分实施的效果已在CMake 3.4中删除。
参考文献
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句