[cmake] GNU Make와 함께 CMake 사용 : 정확한 명령을 어떻게 볼 수 있습니까?

CMake를 GNU Make와 함께 사용하고 모든 명령을 정확하게보고 싶습니다 (예 : 컴파일러 실행 방법, 모든 플래그 등).

GNU make에는 --debug있지만 다른 옵션이 도움이되지 않는 것 같습니다. CMake는 디버깅 목적으로 생성 된 Makefile에 추가 플래그를 제공합니까?



답변

make를 실행할 때 VERBOSE=1전체 명령 출력을 보려면 add 를 추가 하십시오. 예를 들면 다음과 같습니다.

cmake .
make VERBOSE=1

또는 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON생성 된 Makefile에서 영구 상세 명령 출력을 위해 cmake 명령에 추가 할 수 있습니다 .

cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .
make

관심이 적은 출력을 줄이려면 다음 옵션을 사용하십시오. 옵션 CMAKE_RULE_MESSAGES=OFF과 같은 제거합니다 라인 [33 %] 건물 C 객체 … , 동안 --no-print-directory처럼 행을 필터링 현재 디렉토리를 인쇄 할 수 있도록 지시 make[1]: Entering directorymake[1]: Leaving directory.

cmake -DCMAKE_RULE_MESSAGES:BOOL=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .
make --no-print-directory


답변

CMakeLists.txt파일 에서 옵션을 다음 과 같이 설정하는 것이 편리합니다 .

set(CMAKE_VERBOSE_MAKEFILE ON)


답변

또는 단순히 다음과 같이 쉘에서 VERBOSE 환경 변수를 내보내십시오.

export VERBOSE=1


답변

CMake GUI를 사용하는 경우 고급보기로 바꾸면 옵션은 CMAKE_VERBOSE_MAKEFILE입니다.


답변

-ggdb깃발이 있는지 확인하기 위해 비슷한 것을 시도하고 있었습니다.

깨끗한 디렉토리에서 make를 호출하고 찾고있는 플래그를 grep하십시오. 내가 쓰는 debug것보다 오히려 찾고 ggdb있습니다.

make VERBOSE=1 | grep debug

-ggdb플래그는 컴파일 명령이 팝업 것이 모호한 충분했다.


답변