오버레이 포트
일반적으로 vcpkg 포트는 레지스트리에서 가져옵니다. 설치하는 대부분의 포트는 공식 vcpkg 레지스트리에서 https://github.com/Microsoft/vcpkg제공됩니다. vcpkg를 사용하면 파일 시스템을 통해 사용 가능한 포트를 설치할 수 있습니다. 이러한 포트, 오버레이 포트를 호출합니다.
오버레이 포트는 기존 포트에 대한 드롭인 대체 또는 레지스트리에서 사용할 수 없는 새 포트로 작동할 수 있습니다. 패키지 이름을 확인하는 동안 오버레이 포트가 우선합니다.
오버레이 포트는 다음 순서로 평가됩니다.
- 를 통해
--overlay-ports
명령줄에 지정된 오버레이 위치 - 를 통해
overlay-ports
파일에 지정된vcpkg-configuration.json
오버레이 위치 - 환경 변수에 지정된
VCPKG_OVERLAY_PORTS
오버레이 위치입니다.
포트 이름을 확인할 때 일치하는 오버레이 포트를 포함하는 첫 번째 위치가 선택됩니다.
오버레이 포트 사용
디렉터리가 오버레이 포트 집합을 나타낼 수 있으며 다음 두 가지 방법 중 하나로 지정할 수 있습니다.
- 단일 오버레이 포트:
<directory>/sqlite3
단일 포트를 참조합니다. - 오버레이 포트의 디렉터리:
<directory>
유효한 포트에 둘 다vcpkg.json
포함해야 하는 포트의 디렉터리를 참조합니다portfile.cmake
.
다음과 같은 여러 가지 방법으로 오버레이 포트를 추가할 수 있습니다.
- 명령줄: vcpkg 명령에 하나 이상의
--overlay-ports=<directory>
옵션 추가 - 매니페스트: 다음에서
"overlay-ports"
배열 채우기vcpkg-configuration.json
- 환경 변수: 디렉터리 경로 목록으로 설정
VCPKG_OVERLAY_PORTS
예: 오버레이 포트 예제
이 디렉터리 구조가 지정된 경우:
팀 포트라는 오버레이 디렉터리에는 sqlite3, rapidjson 및 curl 포트가 포함되어 있습니다. my-ports라는 오버레이 디렉터리에는 sqlite3 및 rapidjson 포트가 포함됩니다. vcpkg 디렉터리에는 기본 레지스트리가 포함되어 있습니다.
다음을 실행합니다.
vcpkg install sqlite3 --overlay-ports=my-ports --overlay-ports=team-ports
설치하려면 다음을 수행합니다.
sqlite3
에서my-ports
다음을 실행합니다.
vcpkg install sqlite3 rapidjson curl
--overlay-ports=my-ports/rapidjson
--overlay-ports=vcpkg/ports/curl
--overlay-ports=team-ports
설치하려면 다음을 수행합니다.
sqlite3
에서team-ports
rapidjson
에서my-ports
curl
에서 'vcpkg/ports
예: 오버레이 포트를 사용하여 시스템 패키지 관리자 종속성 사용
vcpkg에 대한 시스템 패키지 관리자 종속성을 사용하려면 블로그 게시물을 참조하세요.
vcpkg