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-conan 会在 CMake 每次调用 find_package()
时激活 Conan 集成。这意味着在 CMake 配置步骤运行之前,不会安装任何库。在那时,Conan 将尝试安装所需的库并在必要时构建它们。
此外,请注意依赖提供者是 CMake 中一个相对较新的特性。因此,您将需要 CMake 版本 >= 3.24 和 Conan >= 2.0.5。
安装插件¶
要安装新的 Conan CLion 插件,请导航至 JetBrains Marketplace。打开 CLion,转到 Settings > Plugins(设置 > 插件),然后选择 Marketplace(市场)选项卡。搜索 Conan 插件并点击 Install(安装)按钮。
重启 CLion 后,一个新的“Conan”工具选项卡将出现在 IDE 的底部。
配置插件¶
在 CLion 中打开或创建一个新的 CMake 项目。然后,转到 IDE 底部的“Conan”工具选项卡。插件工具栏中唯一启用的操作将是带有“齿轮”(配置)符号的那个。点击它。
您应该做的第一件事是配置要使用的 Conan 客户端可执行文件。您可以指向系统中任意位置的特定安装,或者选择“Use Conan installed in the system”(使用系统中安装的 Conan)来使用系统级别的安装。
有几个选项被标记为默认。让我们来回顾一下
您将看到复选框指示 Conan 应该管理哪些配置。在我们的例子中,由于我们只有 Debug 配置,因此只有它被选中。在其下方,“Automatically add Conan support for all configurations”(自动为所有配置添加 Conan 支持)默认被选中。这意味着您无需手动为新的构建配置添加 Conan 支持;插件将自动完成此操作。
还有一个复选框允许 Conan 修改默认的 CLion 设置,并按顺序而非并行运行 CMake。这是必要的,因为 Conan 2 中的 Conan 缓存目前不支持并发。
如果您正在使用 Conan 插件,通常不会取消选中这些选项。设置您的偏好后,点击 OK(确定)按钮完成配置。
注意: 此时,CLion 将自动运行 CMake 的配置步骤。由于插件设置了 conan.cmake 依赖提供者,CMake 输出中会出现一个警告。此警告表明我们尚未向 CMakeLists.txt 添加 find_package()。一旦我们将必要的 find_package() 调用添加到 CMakeLists.txt 文件中,此警告将消失。
初始配置后,您会注意到库列表已启用。“更新”和“检查”按钮也已激活。我们稍后将详细解释这些。
使用插件¶
配置好插件后,您可以从 CLion 浏览可用库并安装它们。例如,如果您想使用 libcurl 从互联网下载图像,导航到库列表并搜索 libcurl。将显示如何将其添加到 CMake 的信息,以及一个“Use in project”(在项目中使用)按钮。选择您要的版本并点击该按钮。
如果您点击“眼睛”(检查)图标,您将看到添加到项目中的所有库(假设您添加了不止一个)。此视图包括 CMake 的基本目标信息以及将它们集成到 CMake 所需的代码片段。
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 正在安装库。
另请参阅
有关更多详细信息,请查阅Conan 博客中关于此插件的条目。