CMake를 사용하여 Eclipse CDT 프로젝트에 파일을 추가하는 방법은 무엇입니까?
문제
CMAKE를 사용하여 Eclipse CDT 프로젝트에 소스 및 헤더 파일을 추가하는 데 문제가 있습니다. 테스트 프로젝트 (제대로 생성 및 제작)에는 다음 cmakelists.txt가 있습니다.
cmake_minimum_required(VERSION 2.6)
project(WINCA)
file(GLOB WINCA_SRC_BASE "${WINCA_SOURCE_DIR}/src/*.cpp")
file(GLOB WINCA_SRC_HPP_BASE "${WINCA_SOURCE_DIR}/inc/*.hpp")
add_library(WINCABase ${WINCA_SRC_BASE} ${WINCA_SRC_HPP_BASE})
이것은 잘 작동하지만 결과 Eclipse 프로젝트 파일에는 소스 또는 헤더 파일에 대한 링크가 없습니다. 누구든지 왜 그런지 아십니까? 실제로 프로젝트에 파일을 추가하기 위해 사용해야하는 다른 CMAKE 명령이 있습니까?
해결책 3
내가 가진 문제는 "소스 외부"빌드 대신 "소스 내"빌드를 만들었습니다. 이제는 잘 작동하며 실제로 위키에 대한 정보가 많았지 만 어떻게 든 오해했습니다.
다른 팁
나는 당신이 이것을 게시 한 지 얼마되지 않았다는 것을 알고 있지만, fwiw, 그것은 cmake 2.6 또는 2.7 (트렁크) 버전으로 잘 작동하여 Eclipse/Ganymede를 생성합니다. 내가하는 일은 첫 번째 달리기입니다
cmake -G "Eclipse CDT4 - Unix Makefiles" /path/to/src
이 클립스 프로젝트 파일과 makefiles를 생성 한 다음 Eclipse에서 "프로젝트 가져 오기"를 생성합니다.
아름답게 작동합니다 ...
교활한
나는 2.6이 아닌 CMake 2.4를 사용하지만 2.4에서는 구체적으로 Globs를 사용하여 빌드 할 파일을 찾는 것에 대해 경고했습니다.
새 파일이 추가되거나 삭제되면 종속성을 파악할 수 없기 때문입니다.
cmakelists.txt에 파일을 명시 적으로 추가 해야하는 경우이 파일은 makefiles 및 캐시 파일보다 새롭게됩니다. 따라서 Cmake는 그들을 재생성하는 것을 알고있을 것입니다.
파일에 글로벌이 추가 된 경우 CMAKE는 변경 사항에 대해 알지 못하면 새 파일을 추가하므로 CMAKE는 MakeFiles 등을 재생해야한다는 것을 알지 못합니다. 이는 일반 MakeFiles 및 Visual Studio 프로젝트와 동일합니다.
Cmake 2.6 문서가 명시 적으로 이와 같은 파일을 추가해도 괜찮다고 말하지 않는 한 나는 그것을 피할 것입니다. CMake에서 소스 파일을 관리하는 것은 그리 어렵지 않습니다. 새 파일을 얼마나 자주 추가합니까?