2011-02-13 8 views
4

내 CMake C++ 프로젝트는 여러 상용 라이브러리에 의존합니다 (libs 및 헤더 만 사용 가능). 내 소스 트리에 이러한 패키지를 포함시키는 쉬운 방법이 필요합니다.소스 트리에 타사 라이브러리 포함

  1. 사용 SVN :

    나는 다음과 같은 옵션 시도 외관을하고 소스 트리의 타사 폴더에 이러한 라이브러리를 제공합니다. 장점 : 쉽습니다. 단점 : 느린 다운로드, 전부 또는 아무것도.

  2. 내 CMake의 어떤 옵션에 어떤 패키지가 필요한가에 대한 README 파일이 있습니다. 개발자는 올바른 장소로 다운로드하고 압축을 풀어야합니다. 장점 : 빠른 다운로드, 필요한 패키지 만 선택하십시오. 단점 : 복잡합니다.

이러한 패키지를 개발자에게 자동으로 배포 할 수있는 방법이 있습니까?

내가 원하는 워크 플로 :

  1. 개발자가 CMake 예에서 옵션을 선택 USE_LIBRARY_A
  2. 개발자가
  3. 패키지 다운로드 및
  4. 개발자는
  5. 솔루션을 생성 명중 소스 트리에 적절한 장소에 넣어 구성
  6. 명중/메이크 내가 원하는 것을 추측 컴파일

준비가 Python의 easy_install 또는 Ruby의 rubygems와 비슷합니다.

+1

CMake에 관한 것보다 VCS에 관한 것 같습니다. 자신의 프로젝트 타임 라인의 여러 지점에서 사용중인 외부 라이브러리 버전을 기록하는 방법이 있는지 확인하십시오 (예 : hg의 subrepos는 이것을 처리합니다). 1) 특정 시점에서 프로젝트의 상태를 올바르게 가져올 수 있습니다. 2) 프로젝트가 요구하는대로 외부 라이브러리 (여러 지점 포함)를 업그레이드하거나 업그레이드하지 않아야합니다. –

답변

1

타사 라이브러리를 CMake external projects으로 추가하면 원하는 워크 플로를 얻을 수 있습니다.

ExternalProject_Add 명령을 사용하면 타사 라이브러리를 자동으로 다운로드하고 빌드하고 설치할 수 있습니다.

관련 문제