iT邦幫忙

2026 iThome 鐵人賽

DAY 21
0
Software Development

C++ 套件管理器求生指南 Conan vs Vcpkg系列 第 21 篇

D21:vcpkg features 客製化套件

  • 分享至 

  • xImage
  •  

我們昨天已經親手給自己的函式庫寫了第一個 vcpkg port。

接下來我們延伸一下 port,介紹一個不可或缺功能的:vcpkg features。

買車子時除了車子本體以外,還可以升級音響,升級氣囊,有各種選配選項。編譯函式庫套件時,也會有各種選項,像是著名的壓縮函式庫 libarchive,支援了各種不同的壓縮演算法,但是演算法越多,函式庫就越肥,如果根本用不到某種演算法,能不能在編譯時做客製化剔除掉呢?

這種選配、客製化的功能,在 vcpkg 裡面就叫做 feature。

剛剛提到的 libarchive 開放出來的可客製化的選項就有:bzip2, lz4, lzma, zstd 等等。

所以我們今天就來學習要怎麼在自己的 port 裡面添加 features

今天的目標:

  1. 在 port 的 vcpkg.json 宣告 feature
  2. 設置 portfile.cmake 可以依照 feature 改變建置
  3. 消費端怎麼選擇 features

上一篇
D20:自己的函式庫要怎麼包成 vcpkg port?
下一篇
D22:vcpkg port 常見錯誤與 CMake Target 陷阱
系列文
C++ 套件管理器求生指南 Conan vs Vcpkg 共 22 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言