CLion 2023.1 Help

Manage packages

To help you manage project dependencies and external libraries, CLion integrates with vcpkg, a package manager for C/C++.

Install vcpkg

  1. Select View | Tool Windows | Vcpkg from the main menu to open the Vcpkg tool window.

  2. Click App general add:

    Add vcpkg button in the vcpkg tool window
  3. Specify the installation settings in the Add Vcpkg dialog:

    Adding vcpkg
    • The name and URL of your vcpkg repository.

    • The installation directory (or use the default value). If you already have vcpkg installed, provide the path to its location in this field.

    • Add vcpkg integration to existing CMake profiles

      CLion uses CMake toolchain file to integrate with vcpkg. Select the CMake profiles you want the toolchain file to be linked to.

      After the installation, you can find the toolchain file added to the selected profile's CMake options via the CMAKE_TOOLCHAIN_FILE variable.

  4. Click Ok and wait for the installation to complete.

  5. After installation, the list of packages appears in the middle pane. The right-hand pane shows details of the selected package.

    Vcpkg tool window

Browse and install packages

  1. To find a particular package, start typing its name in the search field:

    Searching for a package
  2. Select the package and press Enter or click Install in the right-hand pane.

  3. You can find the installed package in the Installed subtree:

    Installed packages subtree

Install/remove multiple packages

  • To install several packages at a time, select them in the tree and press Enter or click Install in the right-hand pane:

    Installing multiple packages
  • To remove multiple packages, select them in the tree and press Alt+Delete / ⌘⌫ or scroll down the list in the right-pand pane and click Delete:

    Deleting multiple packages

Add packages to vcpkg.json

Packages can be automatically added to vcpkg.json in the project root, or you can add them manually.

  • Click App expui general settings on the toolbar and select vcpkg.json auto-change to enable CLion to update vcpkg.json automatically:

    vcpkg.json upload option
  • When vcpkg.json auto-change is disabled, you can still use the Actions menu in notifications that appear after package installation:

    Adding packages to vcpkg.json manually

Start using a package

Packages should be added the CMakeLists.txt script.

  1. Select Add packages to CMakeLists.txt in the notification menu:

    Adding packages to CMakeLists.txt
  2. Copy the suggested code into your CMakeLists.txt file. If required, change the target link name (which is main by default) to the one you want the packages to be linked to.

    Code to paste in CMakeLists.txt

Update vcpkg and packages

Use the following tool window actions for update and upgrade:

  • Update All updates the vcpkg Git repository to the latest version and then checks it for available package updates.

    Update all icon
  • Upgrade All updates the vcpkg Git repository to the latest version and then updates all installed packages to their latest versions.

    Upgrade all icon
  • Check for Updates (the The three dots icon menu) checks whether there is a newer version of the vcpkg Git repository.

  • Update Repository (the The three dots icon menu) checks the current version of the vcpkg Git repository for available package updates.

  • Upgrade Repository (the The three dots icon menu) checks the current version of the vcpkg Git repository for available package updates and installs them.

  • Update Vcpkg Repository (the The three dots icon menu) updates the vcpkg Git repository to the latest version.

Upgrade packages one by one

Packages that can be upgraded are indicated with a warning sign.

  • Select a package and click the Upgrade package icon in the right-hand pane:

    Upgrading packages one by one

Auto-update repositories

  • Click App expui general settings on the toolbar and select Auto-update repositories on IDE restart to allow CLion to check for repository updates on each IDE restart.

    Option to auto-update repositories on IDE restart

Use quick-fixes to add missing packages

  • If you include a header from a package that is not yet installed, compilation will fail with the file not found error. Click Fix next to the error message:

    Quick-fix link in the build error message

    CLion will suggest to install the missing package:

    Suggestion to quick-fix for a missing package
  • In case there are multiple candidates for installation, open the list from the Fix menu:

    Fix menu

    Select the package to install in the dialog:

    Package candidates dialog

  • A similar quick-fix is provided for CMake scripts. You can find the Fix link in the CMake tool window:

    Quick-fix link in CMake tool window

Known issues and limitations

  • Currently, vcpkg support is not working for the following toolchains: Cygwin (CPP-31665), Remote (CPP-30683), Docker (CPP-30684), and WSL (CPP-30685).

  • vcpkg registries are not yet supported (CPP-31075).

  • Quick-fix for missing packages in the editor is under development (CPP-31662).

Last modified: 17 April 2023