Aracılığıyla paylaş


GitHub depolarını paketleme örneği: libogg

Bildirim dosyasını oluşturma

Bildirim dosyası (olarak adlandırılır vcpkg.json), paketin meta verilerini açıklayan bir json dosyasıdır.

Libogg için dosyayı ports/libogg/vcpkg.json aşağıdaki içeriğe sahip oluşturacağız:

{
  "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.",
  "homepage": "https://www.xiph.org/ogg/"
}

ile bildirim dosyasını belirtimlerimize vcpkg format-manifest ports/libogg/vcpkg.jsongöre biçimlendirebilirsiniz.

Bağlantı noktası dosyasını oluşturma

portfile.cmake paketin nasıl derleneceğini ve yükleneceğini açıklar. İlk olarak ile github'dan vcpkg_from_githubprojeyi indiriyoruz:

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

Güncelleştirilecek REPO önemli bölümler GitHub depo yolu, REF kararlı bir etiketin/işlemenin kullanılması ve SHA512 indirilen dosyanın sağlama toplamıyla ilgilidir (paketi yüklemeye 0çalışarak ve sağlama toplamını kopyalayarak bunu kolayca elde edebilirsiniz).

Son olarak projeyi CMake ile yapılandıracağız, paketi yükleyeceğiz ve lisans dosyasının üzerine kopyalayacağız:

vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH})
vcpkg_cmake_install()
vcpkg_install_copyright("${SOURCE_PATH}/COPYING")

Paketinizin ek seçeneklere ihtiyacı olup olmadığını ve vcpkg_cmake_install belgelerini vcpkg_cmake_configure gözden geçirin.

Artık paketi derlemek ve yüklemek için komutunu çalıştırabilirsiniz vcpkg install libogg .

Önerilen örnek bağlantı noktası dosyaları

Dizinde ports/ , CMake'i temel almamış birçok kitaplık da dahil olmak üzere örnek olarak kullanılabilecek birçok kitaplık vardır.

  • Yalnızca üst bilgi kitaplıkları
    • rapidjson
    • range-v3
  • MSBuild tabanlı
    • chakracore
  • CMake olmayan, özel derleme sistemi
    • openssl
    • ffmpeg