GitHub 리포지토리 패키징 예제: libogg

매니페스트 파일 만들기

매니페스트 파일(호출 vcpkg.json)은 패키지의 메타데이터를 설명하는 json 파일입니다.

libogg의 경우 다음 콘텐츠를 사용하여 파일을 ports/libogg/vcpkg.json 만듭니다.

{
  "name": "libogg",
  "version-string": "1.3.3",
  "description": "Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs."
}

을 사용하여 매니페스트 파일의 서식을 사양에 지정할 수 있습니다 vcpkg format-manifest ports/libogg/vcpkg.json.

포트 파일 만들기

portfile.cmake 에서는 패키지를 빌드하고 설치하는 방법을 설명합니다. 먼저 Github에서 다음을 vcpkg_from_github사용하여 프로젝트를 다운로드합니다.

vcpkg_from_github(
    OUT_SOURCE_PATH SOURCE_PATH
    REPO xiph/ogg
    REF v1.3.3
    SHA512 0bd6095d647530d4cb1f509eb5e99965a25cc3dd9b8125b93abd6b248255c890cf20710154bdec40568478eb5c4cde724abfb2eff1f3a04e63acef0fbbc9799b
    HEAD_REF master
)

업데이트 REPO 해야 할 중요한 부분은 GitHub 리포지토리 경로, REF 안정적인 태그/커밋 사용 및 SHA512 다운로드한 파일의 검사소(패키지 설정0, 패키지 설치 시도 및 검사소)를 사용하여 쉽게 가져올 수 있습니다.

마지막으로 CMake를 사용하여 프로젝트를 구성하고, 패키지를 설치하고, 라이선스 파일을 복사합니다.

vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH})
vcpkg_cmake_install()
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libogg" RENAME copyright)

패키지에 추가 vcpkg_cmake_configure 옵션이 필요한지 설명 vcpkg_cmake_install 서를 확인합니다.

이제 실행 vcpkg install libogg 하여 패키지를 빌드하고 설치할 수 있습니다.

제안된 예제 포트파일

ports/ 디렉터리에는 CMake를 기반으로 하지 않는 라이브러리를 포함하여 예제로 사용할 수 있는 많은 라이브러리가 있습니다.

  • 헤더 전용 라이브러리
    • rapidjson
    • range-v3
  • MSBuild 기반
    • chakracore
  • 비 CMake, 사용자 지정 빌드 시스템
    • openssl
    • ffmpeg