CONTROL 파일
경고
CONTROL
파일은 더 이상 사용되지 않으며 이전 버전의 vcpkg와의 호환성을 위해서만 유지됩니다. 새로 작성한 포트에 vcpkg.json 매니페스트 파일을 사용합니다.
기존 파일을 파일로 변환하는 CONTROL
데 vcpkg.json
사용합니다./vcpkg format-manifest path/to/CONTROL
.
파일에는 CONTROL
포트에 대한 메타데이터가 포함되어 있습니다. 구문은 Debian control
형식을 기반으로 하지만 여기에 설명된 필드의 하위 집합만 지원합니다.
필드 이름은 대/소문자를 구분하며 선행 공백 없이 줄을 시작합니다. 단락은 하나 이상의 빈 줄로 구분됩니다.
파일의 CONTROL
첫 번째 단락은 원본 단락입니다. 필드와 필드가 Source
Version
Description
있어야 합니다. 전체 필드 집합은 아래에 설명되어 있습니다.
Source: ace
Version: 6.5.5
Description: The ADAPTIVE Communication Environment
Source: vtk
Version: 8.2.0
Port-Version: 2
Description: Software system for 3D computer graphics, image processing, and visualization
Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c
포트의 이름입니다.
새 포트를 추가할 때 이름은 vcpkg의 일부가 아닌 다른 프로젝트와 충돌할 수 있습니다. 예를 들어 json
너무 많은 다른 프로젝트와 충돌하므로 고유하게 만드는 것과 같이 taocpp-json
이름에 범위를 추가해야 합니다. 검색 엔진과 다른 패키지 컬렉션에 충돌이 없는지 확인합니다.
충돌을 검사 패키지 컬렉션:
라이브러리 버전입니다.
이 필드는 영숫자 문자열 .
이며 , _
또는 -
. 버전 순서 지정을 시도하지 않습니다. 모든 버전은 비트 문자열로 처리되며 같음만 평가됩니다.
태그가 지정된 릴리스 포트의 경우 다음 규칙을 따릅니다.
- 포트가 다음과 같은
va.b.c
구성표를 따르는 경우 선행v
을 제거합니다. 이 경우 다음과 같습니다.a.b.c
- 포트가 버전에 고유한 이름을 포함하는 경우 다음과 같이
curl-7_65_1
선행 이름을 제거합니다.7_65_1
롤링-릴리스 포트의 경우 사용자가 커밋에 액세스한 날짜를 사용하며 형식은 다음과 같습니다YYYY-MM-DD
. 다른 방법을 설명했습니다. 누군가가 타임 머신을 가지고 해당 날짜로 이동하면 이 커밋을 최신 마스터로 볼 수 있습니다.
예를 들어 다음과 같은 조건이 있습니다.
- 최신 커밋은 2019-04-19에서 이루어졌습니다.
- 현재 버전 문자열은
2019-02-14-1
- 오늘 날짜는 2019-06-01입니다.
그런 다음 현재 원본 버전을 업데이트하는 경우 버전을 2019-06-01
제공해야 합니다.
포트의 버전입니다.
이 필드는 음수가 아닌 정수입니다. 포트 파일을 기본 라이브러리 버전과 별도로 버전화할 수 있습니다. 기본 버전의 라이브러리를 변경하지 않고 포트를 변경하는 경우 이 필드를 하나씩 증가시켜야 합니다(시작 시 0
, 필드 없음 Port-Version
과 동일). 기본 라이브러리의 버전이 업그레이드되면 이 필드를 다시 0
설정해야 합니다(예: 필드 삭제 Port-Version
).
Version: 1.0.5
Port-Version: 2
Version: 2019-03-21
라이브러리에 대한 설명입니다.
규칙에 따라 설명의 첫 번째 줄은 라이브러리의 요약입니다. 선택적 세부 설명은 다음과 같습니다. 자세한 설명은 공백으로 시작하는 여러 줄일 수 있습니다.
Description: C++ header-only JSON library
Description: Mosquitto is an open source message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1.
MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for "machine
to machine" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino.
사용자가 추가 설명서 또는 원본 소스 코드를 찾을 수 있는 라이브러리 홈페이지의 URL입니다.
예시:
Homepage: https://github.com/Microsoft/vcpkg
라이브러리에 종속성이 있는 vcpkg 포트의 쉼표로 구분된 목록입니다.
vcpkg는 빌드 전용 종속성과 런타임 종속성을 구분하지 않습니다. 라이브러리를 성공적으로 사용하는 데 필요한 전체 종속성 목록을 지정해야 합니다.
예를 들어 websocketpp는 헤더 전용 라이브러리이므로 설치 시 종속성이 필요하지 않습니다. 그러나 다운스트림 사용자는 라이브러리를 사용하기 위해 boost 및 openssl이 필요합니다. 따라서 websocketpp는 boost 및 openssl을 종속성으로 나열합니다.
포트가 다른 라이브러리의 선택적 기능에 종속된 경우 구문을 사용하여 portname[featurelist]
지정할 수 있습니다. 포트에 종속성의 기능이 필요하지 않은 경우 다음으로 portname[core]
지정해야 합니다.
다른 요구 사항을 지원하기 위해 대상 트리플렛에 따라 종속성을 필터링할 수 있습니다. 이러한 필터는 아래 지원 필드와 동일한 구문을 사용하며 포트 이름 및 기능 목록 다음에 괄호로 묶입니다.
Build-Depends: rapidjson, curl[core,openssl] (!windows), curl[core,winssl] (windows)
기본적으로 설치할 선택적 포트 기능의 쉼표로 구분된 목록입니다.
이 필드는 선택적입니다.
Default-Features: dynamodb, s3, kinesis
포트가 삼중항에 성공적으로 빌드될 것으로 예상되는 경우 true로 평가되는 식입니다.
현재 이 필드는 CI 테스트에서만 포트를 건너뛰는 데 사용됩니다. 나중에 이 메커니즘은 지정된 설치 트리가 성공할 것으로 예상되지 않는다는 것을 사용자에게 미리 경고하기 위한 것입니다. 따라서 이 필드는 낙관적으로 사용해야 합니다. 포트가 10% 성공해야 하는 경우 여전히 "지원됨"으로 표시되어야 합니다.
지원되는 식별자vcpkg.json
목록은 매니페스트 설명서의 플랫폼 식을 참조하세요.
Supports: !(uwp|arm)
파일에 여러 선택적 기능을 지정할 CONTROL
수 있습니다. 필드와 Description
필드가 Feature
있어야 합니다. 필요에 따라 필드가 Build-Depends
있을 수 있습니다. 다른 단락과 하나 이상의 빈 줄로 구분해야 합니다.
Source: vtk
Version: 8.2.0-2
Description: Software system for 3D computer graphics, image processing, and visualization
Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c
Feature: openvr
Description: OpenVR functionality for VTK
Build-Depends: sdl2, openvr
Feature: qt
Description: Qt functionality for VTK
Build-Depends: qt5
Feature: mpi
Description: MPI functionality for VTK
Build-Depends: mpi, hdf5[parallel]
Feature: python
Description: Python functionality for VTK
Build-Depends: python3
기능의 이름입니다.
포트 Description
필드와 동일한 구문을 사용하는 기능에 대한 설명입니다.
이 기능을 빌드하고 사용하는 데 필요한 종속성 목록입니다.
설치 시 선택한 모든 기능의 종속성이 결합되어 빌드에 대한 전체 종속성 목록을 생성합니다. 이 필드는 원본 단락과 동일한 구문을 Build-Depends
따릅니다.
vcpkg 피드백
vcpkg은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.