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 directory
와 make[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
플래그는 컴파일 명령이 팝업 것이 모호한 충분했다.