如果我制作我的项目,我可以看到:
[ 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
Run Code Online (Sandbox Code Playgroud)
既然我总是make在我的build目录中调用,那么为了跨操作系统的可读性和兼容性,为什么不使用相对路径呢?
[ 50%] Building C object CMakeFiles/hello.dir/hello.c.obj
iccarm hello.c -Ifoo -Iinc -o CMakeFiles/hello.dir/hello.c.obj
Run Code Online (Sandbox Code Playgroud)
是不是好多了?
有没有办法强制 CMake 尽可能多地使用相对路径?
例如,在编译.c文件时,我希望cmake只是打印
CC xxx.c
Run Code Online (Sandbox Code Playgroud)
到stdout,就像linux kbuild一样.