2010-05-28 5 views
0

CMake와 함께 ccache를 사용하려고합니다. gcc, g++c++이라는 심볼릭 링크를 /usr/local/bin에 두었습니다. make을 실행하면 컴파일 된 파일에 영향을주지 않는 CMakeLists.txt에 일부 변경 사항을 추가하고 (모든 대상을 강제로 작성하도록 사용하지 않는 라이브러리를 추가) make을 다시 실행하면 ccache가없는 것처럼 모든 것이 다시 컴파일됩니다. 그러나 CMake에서 생성 한 모든 파일을 제거한 다음 cmake; make을 호출하면 모든 것이 잘 작동하고 CMakeLists.txt를 변경하더라도 개체 파일이 캐시에서 검색됩니다.cake가 CMake 파일을 삭제하지 않고 캐시에 도달하지 않았습니다.

CMake-generated가 캐시를 치는 것을 방지하는 것으로 보입니다. makecmake의 자세한 출력을 검색했지만이 동작을 일으킬 수있는 종속성을 찾을 수 없습니다.

답변

0

ccache 3.0 (방금 며칠 전에 출시 됨)을 설치하고 CCACHE_LOGFILE을 파일로 설정하는 것이 좋습니다. ccache는 그 파일에 무엇을 하는지를 출력 할 것이므로 문제에 대한 단서를 얻을 수있을 것입니다.

0

cmake가 실행되면 바이너리의 전체 경로가 CMakeCache.txt에 저장됩니다. 이것은 속도 최적화이기 때문에 미래의 설정은 빠릅니다 (autoconf가 오래 걸리는 이유 중 하나는 & 이상의 많은 것을 다시 찾는다는 것입니다). cmake가 다시 검색하도록하려면 CMakeCache.txt 파일을 제거하거나 새로 고치려는 도구에 대한 경로가 들어있는 변수를 해당 파일에서 필터링하십시오.

관련 문제