2011-02-08 3 views
0

패키지에 cmake을 실행했지만 결과적으로 특정 패키지가 제대로 포함되지 않았기 때문에 make이 실패합니다. 올바른 find*.cmake 파일을 편집하여 올바른 위치를 가리킬 수 있습니까?올바른 위치를 가리 키도록 cmake 파일을 수동으로 편집하십시오.

현재 해당 cmake 파일 find_tbb.make입니다 :

include(CheckIncludeFileCXX) 

check_include_file_cxx(tbb/tbb.h HAVE_TBB) 

나는이이 파일에 대한 tbb/tbb.h에서 찾고 의미한다고 가정. 내 파일이 없기 때문에 파일의이 줄을 편집하여 더 좋은 장소를 가리킬 수 있습니까?

답변

1

대신 생성 된 CMakeCache.txt를 편집하는 것이 좋습니다.

CMake는 어떤 이유로 인해 Find * 모듈이 실패하여 올바른 값을 채우거나 사용자가 캐시에 비워 두거나, ttb_NOT_FOUND과 같은 값으로 작업하지 못하도록 설계되었습니다.

ccmake 또는 cmake-gui 도구는 특히이를 위해 CMake 캐시의 항목을 편집하기위한 친숙한 인터페이스를 제공합니다.

0

시스템의 표준 CMake 모듈 파일을 편집하는 것은 좋지 않습니다. 이러한 파일을 편집하면 다른 CMake 프로젝트가 손상 될 수 있습니다. 또한 CMake 목록 파일의 이식성이 떨어집니다.

더 나은 옵션은 CMake 모듈 파일을 "포크 (fork)"하여 프로젝트의 일부로 만드는 것입니다. 가장 바깥 쪽 프로젝트 폴더에 CMake 폴더를 만들고 그에 맞게 필요한 파일 find*.cmake을 복사하십시오. 변경 사항을 확인하고 CMake 모듈 검색 경로를 수정 CMakeLists.txt 루트에 첫 번째 프로젝트의 CMake 폴더에보고 :

project (MyProject) 

set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH}) 
... 

모듈 파일을 프로젝트의 CMake 폴더에 표준 모듈 파일을 대체합니다.

관련 문제