使用CMake的详细NMake Makefile

时间:2014-05-09 09:02:49

标签: cmake nmake

我一直在遵循常见问题解答中的说明:Is there an option to produce more 'verbose' compiling?。我现在有:

$ cat C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows.cmake
[...]
# uncomment these out to debug nmake and borland makefiles
set(CMAKE_START_TEMP_FILE "")
set(CMAKE_END_TEMP_FILE "")
set(CMAKE_VERBOSE_MAKEFILE 1)

然后我重新生成我的项目,然后运行nmake:

> cmake --version
cmake version 2.8.12.2

> cmake -G"NMake Makefiles" ..\project
> nmake VERBOSE=1
[...]
[ 73%] Building CXX object apps/foobar/CMakeFiles/bla.dir/my.cpp.obj
    cd C:\Dashboards\MyTests\project-build-debug-vista32-nightly\apps\foobar
    C:\PROGRA~1\MICROS~1.0\VC\bin\cl.exe  @C:\Users\voxxl\AppData\Local\Temp\nm1362.tmp

有没有办法可以访问完整的cl命令行?

1 个答案:

答案 0 :(得分:4)

在Windows(XP或更高版本)上,命令行的长度限制为8,191字节。

Windows编译器工具集通过在命令行上允许@filepath语法来解决这个问题。

因此,VERBOSE = 1在Windows上不太有用。但您始终可以检查生成的* .make文件中的命令行

例如(问题中使用的路径):

  

应用/ foobar的/ CMakeFiles / bla.dir / build.make   apps / foobar / CMakeFiles / bla.dir / flags.make