Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kod oluşturmak veya özel derleme sistemi uygulamak için diğer bağlantı noktaları tarafından derleme zamanında kullanılan araçlar vcpkg içinde paketlenebilir.
Tüketen
Bir bağlantı noktasını araç olarak kullanırken, bağımlılığın "host" alanını true olarak ayarlamanız gerekir. Örneğin:
{
"name": "contoso-http-library",
"version-string": "1.0.0",
"description": "Contoso's http runtime library",
"dependencies": [
"contoso-core-library",
{
"name": "contoso-code-generator",
"host": true
},
{
"name": "contoso-build-system",
"host": true
}
]
}
Bu durumda, contoso-code-generator ve contoso-build-system (geçişli bağımlılıklar dahil) oluşturulmadan önce contoso-http-library konak üçlüs için derlenir ve yüklenir.
Not
Tüketicilerin meta veri biçimi yerine CONTROL kullanması vcpkg.json gerekir. kullanarak vcpkg format-manifest /path/to/CONTROLvar olan CONTROL bir dosyayı kolayca dönüştürebilirsiniz.
Ardından, tüketicinin portfile dosyasında (contoso-http-library örnekte), CMake değişkeni CURRENT_HOST_INSTALLED_DIR olarak installed/<host-triplet> tanımlanır ve gerekli varlıkları bulmak için kullanılmalıdır. Örnekte, contoso-code-generator tüketicinin yerel yoluna şu yollarla ekleyebileceği bir yükleme tools/contoso-code-generator/ccg.exe yapmış olabilir:
# ports/contoso-http-library/portfile.cmake
vcpkg_add_to_path(${CURRENT_HOST_INSTALLED_DIR}/tools/contoso-code-generator)
Konak Üçlüsunun Belirtilmesi
Varsayılan konak üçlüleri, konak mimarisine ve işletim sistemine (örneğin x64-windows, , x64-linuxveya x64-osx) göre seçilir. Bunlar şu şekilde geçersiz kılınabilir:
- CMake tabanlı bildirim modunda, ilk
project()yönergeden önce çağrılırset(VCPKG_HOST_TRIPLET "<triplet>" CACHE STRING "") - MSBuild tabanlı bildirim modunda özelliğini ayarlama
VcpkgHostTriplet - Komut satırında, bayrağı aracılığıyla
--host-triplet=... VCPKG_DEFAULT_HOST_TRIPLETortam değişkeni
Üretim
Bir araç üretmenin özel gereksinimleri yoktur; araçlar, tüm normal ilkeler ve uygulamalar izlenerek standart bir bağlantı noktası olarak yazılmalıdır. Özellikle, bağlantı noktası dosyası bağlamında değilHOST_TRIPLET, üzerinde derleme TARGET_TRIPLETyapmalıdır.
Geçerli bağlam çapraz derleniyorsa (TARGET_TRIPLET değil HOST_TRIPLET), VCPKG_CROSSCOMPILING doğru bir değere ayarlanır.
if(VCPKG_CROSSCOMPILING)
# This is a native build
else()
# This is a cross build
endif()
Yalnızca konak bağlantı noktaları
Bazı bağlantı noktaları yalnızca bir konak bağımlılığı aracılığıyla bağımlı olmalıdır; betik bağlantı noktaları ve araç bağlantı noktaları yaygın örneklerdir. Bu durumda, bunu açıklamak için supports ifadesini kullanabilirsiniz "native" . Bu, false olduğunda VCPKG_CROSSCOMPILING ifadenin doğru olduğunu destekler (bunu TARGET_TRIPLET == HOST_TRIPLETifade ediyor).
VCPKG_USE_HOST_TOOLS
vcpkg CMAKE_PROGRAM_PATHtarafından oluşturulan yürütülebilir dosyaları öğesine eklemek için bu CMake seçeneğini ayarlayın.
ve derleme işleminiz sırasında kullanılabilir hale getirin.
Bu seçeneğin etkili olması için, dosyanızdaki CMakeLists.txt herhangi bir çağrıdan project() önce ayarlanması gerekir. Değişkenin VCPKG_HOST_TRIPLET de ayarlanması gerekir.
yalnızca konak üçlüsunun tools klasöründe yüklü olan araçlar öğesine CMAKE_PROGRAM_PATHeklenir.
Etkili bir şekilde, aşağıdaki konumlar eklenir:
${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/tools${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/tools/*/bin