Выходные включают пути и CMake - PullRequest
3 голосов
/ 30 января 2012

Я хотел бы заставить 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 ]

2 голосов
/ 27 февраля 2017

набор (CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 0)

2 голосов
/ 30 января 2012

При использовании Unix Makefiles (который выглядит так, как вы) вы можете получить полный набор флагов командной строки, набрав:

 make VERBOSE=1

Я думаю, что некоторые из других генераторов также имеют переменную кэша, котораяможно установить.

1 голос
/ 01 августа 2012

Параметр @CMakeFiles/go.dir/includes_CXX.rsp фактически является тем, что передается компилятору, который затем читает этот файл и интерпретирует его как список параметров.См. Man gcc для описания этого механизма.

Механизм используется, потому что оболочки в MS Windows имеют ограничение на длину командной строки, которое может быть легко превышено при сложных вызовах компиляции.Поэтому намного безопаснее использовать файлы для передачи параметров

...