vcpkg 로 C++ 외부 종속 라이브러리 관리하기

💡 Quotation > vcpkg플랫폼 간 C/C++ 패키지 관리자입니다. 수천 개의 고품질 오픈 소스 라이브러리에 액세스하여 애플리케이션을 강화하고 내부적으로 프라이빗 구성 요소 컬렉션을 공유합니다. - MSDN

윈도우와 리눅스에서 C/C++ 개발을 위해 CMake 프로젝트를 시작했는데, C/C++PythonpipNode.JSnpm 과 같은 패키지 매니저가 없을까 하다 찾아보니 vcpkg 라는 것이 있길래 사용해 보았습니다.

마이크로소프트가 만들고 리눅스와 윈도우 둘 다 사용 가능하며 CMake 와도 찰떡이라는 말이 있습니다! 😄

설치

자세한 설명과 설치는 여기를 참조하시면 됩니다.

  1. git 설치하기
    • 이 곳에서 다운로드 및 설치
  2. vcpkg 클론 및 실행파일 받기
    • git clone https://github.com/microsoft/vcpkg.git
    • cd vcpkg; .\bootstrap-vcpkg.bat
  3. 환경 변수 설정
    • Win + R 키룰 눌러 “실행” 창을 띄운 후 sysdm.cpl ,3 입력
    • 환경 변수 편집 버튼을 눌러 환경 변수 추가하기
      • 이름: VCPKG_ROOT
      • 경로: VCPKG 실행 파일이 있는 곳
    • PATH 추가하기
      • %VCPKG_ROOT%
  4. 명령 프롬프트에 명령어가 인식되는지 확인하기
    • vcpkg-version

CMake 설정

cmake 빌드 때 vcpkg 에 미리 정의되어 있는 툴체인 정보 파일을 옵션으로 넣어주면 됩니다.

cmake -B .\build\ -S . -DCMAKE_TOOLCHAIN_FILE="[VCPKG 경로]\scripts\buildsystems\vcpkg.cmake"

빌드 때 마다 위와 같이 긴 내용을 계속 쓰는 것이 귀찮다면 CMAKE_TOOLCHAIN_FILE 이라는 이름의 환경 변수를 만들어 놓고 사용하면 됩니다. 😎

파워 쉘에서는 아래와 같이 입력하여 세션 환경 변수를 등록합니다.

$env:CMAKE_TOOLCHAIN_FILE="$env:VCPKG\scripts\buildsystems\vcpkg.cmake"

cmake-toolchain-set