2011-11-02 1 views
4

현재 크로스 컴파일을 위해 CMake를 사용하려고합니다. 그러나, CMake 내가 CMAKE_TOOLCHAIN_FILE 옵션, 동일한 메이크 파일이 생성을 생략하면CMake는 toolchain 파일을 무시합니다. 디버그/오류 출력을 얻으려면 어떻게해야합니까?

cmake -DCMAKE_TOOLCHAIN_FILE=my-toolchain.cmake . 

또는

cmake . -DCMAKE_TOOLCHAIN_FILE=my-toolchain.cmake 

에 의해 지정된 툴체인을 무시하는 것 같다. 또한 의도적으로 잘못된 파일 이름을 지정하거나 toolchain 파일에 구문과 경로 오류를 삽입하면 CMake는 불평하지 않습니다.

CMake 실행 중에 더 많은 오류/디버그 출력을 얻을 수있는 방법이 있습니까? 내가 찾을 수있는 유일한 옵션은 "--debug-output"인데, 제 경우에는별로 도움이되지 않습니다.

답변

10

내 실수. CMake는 항상 기존 빌드 트리를 재생성했습니다. 빌드 디렉터리에서 CMakeCache.txt를 삭제하면 CMake는 새로운 빌드 트리를 생성해야하며 더 이상 CMAKE_TOOLCHAIN_FILE 옵션을 무시하지 않습니다. CMake FAQ을 참조하십시오.

+2

툴체인 파일을 변경하면 항상 완전히 비어있는 빌드 트리부터 시작해야합니다. 툴체인 파일 변경으로 인해 영향을받는 캐시 항목을 정확하게 알고 있지 않고 점진적 재 구축을 "안전"하다고 생각하지 않는 한 최악의 경우를 가정해야합니다. 툴 체인 파일을 변경할 때 모든 내용을 다시 작성해야합니다 ... – DLRdave

+0

진실로 당뇨병. 어떤 변수가 '고정'되었지만 캐시에서 오는 것이므로 수정하지 못했습니다. 나는 잘못 설정된 파일을 찾아서 특별히 삭제했다. –

+0

@ DLRdave 내 빌드의 변경 사항 cmakelists.txt도이 자격이 있습니까? – bikram990