다음을 통해 공유


vcpkg-configuration.json 참조

파일은 vcpkg-configuration.json 프로젝트 매니페스트일부와 함께 vcpkg.json구성합니다. 파일의 vcpkg-configuration.json 모든 필드는 최상위 프로젝트에서 vcpkg-configuration.json 만 사용되며 모든 종속성에 있는 파일은 무시됩니다.

매니페스트 모드vcpkg-configuration.json옆에 vcpkg.json 있는 별도의 파일에 있거나 에 포함"vcpkg-configuration" field할 수 있습니다.

클래식 모드에서 vcpkg는 vcpkg 인스턴스의 루트에 있는 파일을 사용합니다vcpkg-configuration.json.

vcpkg에서 레지스트리를 사용하는 방법에 대한 개요는 레지스트리 사용을 참조 하세요.

최신 JSON 스키마는 .에서 https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json사용할 수 있습니다. Visual Studio 및 Visual Studio Code와 같은 JSON 스키마 지원을 사용하는 IDE는 이 파일을 사용하여 자동 완성 및 구문 검사를 제공할 수 있습니다. 대부분의 IDE의 경우 이 URL로 "$schema" 설정 vcpkg-configuration.json 해야 합니다.

예시

{
  "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json",
  "default-registry": {
    "kind": "git",
    "repository": "https://internal/mirror/of/github.com/Microsoft/vcpkg",
    "baseline": "eefee7408133f3a0fef711ef9c6a3677b7e06fd7"
  },
  "registries": [
    {
      "kind": "git",
      "repository": "https://github.com/microsoft/vcpkg-docs",
      "reference": "vcpkg-registry",
      "baseline": "768f6a3ad9f9b6c4c2ff390137690cf26e3c3453",
      "packages": [ "beicode", "beison" ]
    }
  ],
  "overlay-ports": [
    "./team-ports",
    "./custom-ports"
   ],
  "overlay-triplets": [ "./my-triplets" ]
}

다음은 라이브러리의 원본 https://github.com/microsoft/vcpkg-docs/tree/vcpkg-registry 으로 프라이빗 레지스트리beicode를 추가하는 예제입니다beison. 다른 모든 포트는 큐레이팅된 카탈로그의 내부 미러에서 찾을 수 있습니다 https://internal/mirror/of/github.com/Microsoft/vcpkg.

이 예제에서는 소스 코드 리포지토리에 있는 포트 및 삼중항에 대한 사용자 지정 오버레이도 구성합니다.

최상위 필드

속성 형식 설명
default-registry 레지스트리 또는 null 특정 레지스트리가 없는 모든 포트에 사용되는 레지스트리
오버레이 포트 string[] 오버레이 포트 위치로 사용할 경로 목록
오버레이-트리플렛 string[] 오버레이 삼중자로 사용할 경로 목록
레지스트리 Registry[] 포트의 하위 집합에 사용할 추가 레지스트리

"default-registry"

더 구체적인 레지스트리가 없는 모든 포트에 사용할 레지스트리입니다. 레지스트리 또는 null입니다. 선택 사항.

패턴 "packages" 과 일치하지 않는 포트는 기본 레지스트리로 확인됩니다. 기본 레지스트리를 지정 null하면 일치하지 않는 포트가 확인되지 않습니다. 기본 레지스트리를 생략하면 해당 값을 사용하여 암시적으로 Builtin Registry"baseline"됩니다.

"registries"

특정 포트에 사용할 추가 레지스트리입니다. 레지스트리 배열 입니다. 선택 사항.

"overlay-ports"

포트 오버레이 경로 목록입니다. 문자열 배열입니다. 선택 사항.

배열의 각 경로는 다음 중 하나의 이름을 지정해야 합니다.

  • 포트, 포함 vcpkg.jsonportfile.cmake 파일이 포함된 디렉터리 또는
  • 포트의 이름을 따서 명명된 디렉터리가 포함된 디렉터리입니다(zlibvcpkg.json이 디렉터리에 있어야 zlib/vcpkg.json합니다).

상대 경로는 파일을 기준으로 vcpkg-configuration.json 확인됩니다. 절대 경로는 사용할 수 있지만 권장되지 않습니다.

"overlay-triplets"

삼중 오버레이 경로 목록입니다. 문자열 배열입니다. 선택 사항.

배열의 각 경로는 삼중 파일의 디렉터리를 가리킵니다(triplets 설명서 참조). 상대 경로는 파일을 기준으로 vcpkg-configuration.json 확인됩니다. 절대 경로는 사용할 수 있지만 권장되지 않습니다.

레지스트리 필드

속성 필수 형식 설명
기준선 Git 및 Builtin 레지스트리 string 이 레지스트리의 모든 포트에 대한 최소 버전 제약 조건
kind string 사용 중인 레지스트리 종류
packages 예, 기본값이 아닌 경우 string 이 레지스트리에서 제공되는 포트 목록
path 파일 시스템 레지스트리 string 파일 시스템 레지스트리의 경로
reference 아니요 string 사용 가능한 버전에 사용할 Git 참조
저장소 Git 레지스트리 string Git 레지스트리의 URI

레지스트리: "kind"

사용 중인 레지스트리의 종류입니다. 문자열입니다. 필수입니다.

"kind" 레지스트리 종류
"filesystem" 파일 시스템 레지스트리
"git" Git 레지스트리
"builtin" Builtin Registry

레지스트리: "baseline"

이 레지스트리에서 사용할 최소 버전에 대한 레지스트리별 식별자입니다. 문자열입니다. 필수입니다.

Git 레지스트리 및 Builtin Registry경우 레지스트리의 리포지토리에 있는 versions/baseline.json40자 git 커밋 sha입니다.

파일 시스템 레지스트리의 경우 레지스트리에서 정의하는 baseline.json유효한 json 속성 이름이 될 수 있습니다. 파일 시스템 레지스트리가 기준을 선언하지 않으면 사용된 값은 다음과 같습니다 "default".

레지스트리: "reference"

사용 가능한 버전의 Git 레지스트리를 나열하는 데 사용되는 Git 참조입니다. 문자열입니다. 선택 사항.

지정하지 않으면 기본값은 .입니다 HEAD. 이 필드는 아직 완전히 게시되지 않은 버전에 액세스하기 위한 토픽 분기일 수 있습니다.

레지스트리: "repository"

Git 레지스트리의 URI입니다. 문자열입니다. Git 레지스트리에 필요합니다.

문자열은 Git에서 이해하는 모든 URI 형식일 수 있습니다.

  • "https://github.com/microsoft/vcpkg"
  • "git@github.com:microsoft/vcpkg"
  • "/dev/vcpkg-registry"

상대 경로에는 향후 버전의 vcpkg에서 변경될 지정되지 않은 동작이 있습니다.

레지스트리: "path"

파일 시스템 레지스트리의 경로입니다. 문자열입니다. 파일 시스템 레지스트리에 필요합니다.

상대 경로는 .을 기준으로 vcpkg-configuration.json확인됩니다.

레지스트리: "packages"

이 레지스트리에 할당된 포트 패턴 목록입니다. 문자열 배열입니다. 외부 "default-registry"의 모든 레지스트리에 필요합니다.

각 항목은 다음 중 하나여야 합니다.

  • 패키지의 이름
  • 패키지 이름 접두사 뒤에 (*도구 버전 2022-12-14에 추가됨)

패키지 패턴은 소문자, 숫자 및 -선택적 후행을 포함하는 소문자만 포함할 수 있습니다 *.

유효한 패턴의 예:

  • *: 모든 포트 이름과 일치
  • boost: 포트만 일치 boost
  • b*: 문자로 시작하는 포트와 일치 b
  • boost-*: 접두사로 시작하는 포트와 일치 boost-

잘못된 패턴의 예:

  • *a (* 접두사에서 마지막 문자여야 합니다.)
  • a** (하나 * 만 허용됨)
  • a+ (+ 유효한 패턴 문자가 아님)
  • a? (? 유효한 패턴 문자가 아님)

포트 이름을 확인하는 방법에 대한 자세한 내용은 레지스트리 사용 설명서를 참조하세요.