Path 输出包括路径和CMake

Path 输出包括路径和CMake,path,include,makefile,cmake,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/Works

我想强制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
在任何地方,它都不显示包含路径的列表,而是显示
@cmakfiles/go.dir/includes\u CXX.rsp
。实际上,该文件包含include路径

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

使用Unix Makefiles(看起来像是)时,您可以通过键入

 make VERBOSE=1

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

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


之所以使用这种机制,是因为MS Windows上的shell对命令行的长度有限制,在复杂的编译调用中很容易超过该限制。因此,使用文件传递参数集更安全(CMAKE\U CXX\U use\U RESPONSE\U FILE\U FOR包括0)

请注意,在使用MinGW时,您还可以查看生成的输出:build dir\YourProject\CMakeFiles\YourProject.dir中的某个地方将有两个文件'link.txt'和'flags.txt',其中包含链接器和编译器标记。我已经尝试了
VERBOSE=1
set(CMAKE\u VERBOSE\u MAKEFILE ON)
,但是
@cmakfiles/go.dir/includes_CXX.rsp
将继续显示,而不是包含路径列表。注意:使用MSYS Makefiles我没有使用MSYS Makefiles-我将看看是否可以找到问题的根源,因为我认为它可以在那里工作。