输出包括路径和CMake

时间:2012-01-29 20:34:49

标签: path include makefile cmake

我想强制CMake在包含路径(-I...)方面提供详细程度。考虑当前输出:

/D/Software/MinGW/bin/g++.exe -DQT_DEBUG -fmessage-length=0 -mfpmath=sse -msse2 -fopenmp -g3 -gdwarf-2 @CMakeFiles/go.dir/includes_CXX.rsp   -o CMakeFiles/go.dir/main.cpp.obj -c /D/Users/Haroogan/Development/Workspace/New2/main.cpp

无处不是显示包含路径列表,而是显示@CMakeFiles/go.dir/includes_CXX.rsp。实际上,此文件包含包含路径。

如何强制CMake或Make或其他任何输出包含路径?

3 个答案:

答案 0 :(得分:2)

使用Unix Makefile时(你看起来很像),你可以通过输入来获得完整的命令行标志,

 make VERBOSE=1

我认为其他一些生成器也有一个可以设置的缓存变量。

答案 1 :(得分:2)

设置(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 0)

答案 2 :(得分:1)

参数@CMakeFiles/go.dir/includes_CXX.rsp实际上是传递给编译器的内容,然后编译器读取此文件并将其解释为选项列表。有关此机制的说明,请参阅man gcc。

使用该机制是因为MS Windows上的shell对命令行的长度有限制,在复杂的编译调用中很容易超出。因此,使用文件传递参数更安全