CMake를 GNU Make와 함께 사용하고 모든 명령을 정확하게보고 싶습니다 (예 : 컴파일러 실행 방법, 모든 플래그 등).
GNU make에는 --debug
있지만 다른 옵션이 도움이되지 않는 것 같습니다. CMake는 디버깅 목적으로 생성 된 Makefile에 추가 플래그를 제공합니까?
mkdir build; cd build; cmake .. --debug-output; make VERBOSE=1
CMake를 GNU Make와 함께 사용하고 모든 명령을 정확하게보고 싶습니다 (예 : 컴파일러 실행 방법, 모든 플래그 등).
GNU make에는 --debug
있지만 다른 옵션이 도움이되지 않는 것 같습니다. CMake는 디버깅 목적으로 생성 된 Makefile에 추가 플래그를 제공합니까?
mkdir build; cd build; cmake .. --debug-output; make VERBOSE=1
답변:
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
cmake -GNinja . ; ninja -v
최소한의 보풀로 아주 멋진 출력을 보여줍니다.
cmake --build . -- VERBOSE=1
CMakeLists.txt
파일 에서 옵션을 다음 과 같이 설정하는 것이 편리합니다 .
set(CMAKE_VERBOSE_MAKEFILE ON)
CMAKE_VERBOSE_MAKEFILE
디버깅 목적으로 기본적으로 꺼져 있으며 필요한 경우 사용자가 선택해야합니다.