CMake를 사용하여 Eclipse CDT 프로젝트에 파일을 추가하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/888085

  •  23-08-2019
  •  | 
  •  

문제

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에서 소스 파일을 관리하는 것은 그리 어렵지 않습니다. 새 파일을 얼마나 자주 추가합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top