clion_logo CLion

简介

有一个插件在 JetBrains Marketplace 上可用,它与高于 *2022.3* 的 CLion 版本兼容。 使用此插件,您可以浏览 Conan Center 中可用的 Conan 软件包,将它们添加到您的项目,并直接从 CLion IDE 界面安装它们。

此插件利用 cmake-conan,它是 Conan 的 CMake 依赖提供程序。 它使用 CMAKE_PROJECT_TOP_LEVEL_INCLUDES 定义注入 conan_provider.cmake。 此依赖提供程序将 CMake 配置转换为 Conan。 例如,如果您在 CLion 中选择 *Debug* 配置文件,Conan 将安装并使用 *Debug* 的软件包。

请记住,每次 CMake 调用 find_package() 时,*cmake-conan* 都会激活 Conan 集成。 这意味着在 CMake 配置步骤运行之前,不会安装任何库。 届时,Conan 将尝试安装所需的库,并在必要时构建它们。

另请注意,依赖提供程序是 CMake 中相对较新的功能。 因此,您需要 CMake 版本 >= 3.24 和 Conan >= 2.0.5。

安装插件

要安装新的 Conan CLion 插件,请导航到 JetBrains marketplace。 打开 CLion,转到 *Settings > Plugins*,然后选择 *Marketplace* 选项卡。 搜索 Conan 插件,然后单击“Install”按钮。

clion_install_plugin

重新启动 CLion 后,一个新的“Conan”工具选项卡将出现在 IDE 的底部。

配置插件

打开一个 CMake 项目或在 CLion 中创建一个新项目。 然后,转到 IDE 底部的“Conan”工具选项卡。 插件工具栏中唯一启用的操作是带有“轮子”(配置)符号的操作。 单击它。

clion_configuration_1

您应该做的第一件事是配置将使用的 Conan 客户端可执行文件。 您可以指向系统上任意位置的特定安装,也可以选择“Use Conan installed in the system”以使用系统级安装。

clion_configuration_2

有几个选项标记为默认值。 让我们回顾一下它们

  • 您将看到复选框,指示 Conan 应管理哪些配置。 在我们的例子中,由于我们只有 Debug 配置,因此它是唯一被选中的配置。 在此之下,“Automatically add Conan support for all configurations”默认情况下已选中。 这意味着您无需手动将 Conan 支持添加到新的构建配置;插件会自动执行此操作。

  • 还有一个复选框允许 Conan 修改默认的 CLion 设置并按顺序而不是并行运行 CMake。 这是必要的,因为 Conan 2 中的 Conan 缓存尚未并发。

如果您正在使用 Conan 插件,通常不会取消选中这些选项。 设置您的首选项后,单击“确定”按钮以完成配置。

注意: 此时,CLion 将自动运行 CMake 的配置步骤。 由于该插件设置了 *conan.cmake* 依赖提供程序,因此 CMake 输出中将出现警告。 此警告表明我们尚未将 find_package() 添加到我们的 *CMakeLists.txt* 中。 一旦我们将必要的 find_package() 调用添加到 *CMakeLists.txt* 文件中,此警告将消失。

完成初始配置后,您会注意到库列表已启用。“update”和“inspect”按钮也处于活动状态。 我们稍后将详细解释这些内容。

使用插件

配置插件后,您可以浏览可用的库并从 CLion 安装它们。 例如,如果您想使用 libcurl 从 Internet 下载图像,请导航到库列表并搜索 *libcurl*。 将显示有关如何将其添加到 CMake 的信息,以及一个“Use in project”按钮。 选择您想要的版本,然后单击该按钮。

clion_use_libcurl

如果您单击“眼睛”(检查)图标,您将看到添加到项目中的所有库(假设您添加了多个)。 此视图包括 CMake 的基本目标信息以及将它们集成到 CMake 中所需的代码段。

clion_inspect

Conan 将有关已用软件包的信息存储在项目文件夹中的 *conandata.yml* 文件中。 此文件由在此过程中创建的 *conanfile.py* 读取。 您可以自定义这些文件以进行高级插件使用,但请确保您阅读相应文件中的信息以正确执行此操作。 根据说明修改您的 *CMakeLists.txt*,它应如下所示

cmake_minimum_required(VERSION 3.15) project(project_name) set(CMAKE_CXX_STANDARD 17)
find_package(CURL) add_executable(project_name main.cpp)
target_link_libraries(project_name CURL::libcurl)

重新加载 CMake 项目后,您应该会在 CMake 输出选项卡中看到 Conan 安装库。

另请参阅