Skip to main content

vcpkg


설치

git clone https://github.com/microsoft/vcpkg.git ~/.vcpkg
cd ~/.vcpkg \
&& ./bootstrap-vcpkg.sh -disableMetrics \
&& popd
.zshrc
# vcpkg
export VCPKG_ROOT=$HOME/.vcpkg
export PATH=$VCPKG_ROOT:$PATH

초기화

vcpkg new --application
info
cmake -S . -G Ninja -B build \
-DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake

vcpkg를 사용하는 CMake 빌드 시스템 생성 시 위와 같은 옵션의 명령어를 사용해야합니다. 이를 preset으로 저장하면 아래와 같은 방식으로 사용할 수 있습니다.

CMakePresets.json
{
"version": 2,
"configurePresets": [
{
"name": "default",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build",
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
}
}
]
}
cmake --preset=default

패키지 관리

추가

vcpkg search [<port>]

https://vcpkg.io/ 에서 검색이 가능합니다.

vcpkg add port [<option>] <port> [<port> ...]
vcpkg.json
{
"dependencies": ["<port>"]
}

설정된 패키지를 다운받을 때, vcpkg-configuration.json registry 정보를 바탕으로 다운받게 됩니다.

버전 관리

vcpkg.json
{
"dependencies": [{ "name": "<port>", "version>=": "<version>" }]
}
vcpkg.json
{
"dependencies": ["<port>"],
"overrides": [{ "name": "<port>", "version": "<version>" }]
}
  • version>=을 사용하면 다운로드 가능한 최소 버전을 사용합니다.
  • overrides를 사용하면 설정된 버전만 사용합니다.