关键词:visual studio cmake conan
简介
假设你需要一个第三方的制品,你只需要填写依赖,并使用安装命令。通过 conan 实现对第三方包的完整管理,极大简化和统一库依赖操作。你可以调整配置文件或者使用命令实现不同的配置,如体系结构、编译器版本等。
安装
官网下载: https://conan.io/downloads.html
使用
1. 创建工程
visual studio 创建一个CMake工程,建议使用CMake 3.19以上版本
2. 标准配置文件
在 visual studio 中打开终端,运行如下命令,将会生成模版
$conan new cmake_exe -d name={project_name} -d version={version} --force
示例输入
$conan new cmake_exe -d name=MyCMakeProject -d version=1.0 --force -d requires=gtest/1.13.0 --force
查看 conanfile.py 文件
from conan import ConanFile
from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps
class MyCMakeProjectRecipe(ConanFile):
name = "MyCMakeProject"
version = "1.0"
package_type = "application"
# Optional metadata
license = "<Put the package license here>"
author = "<Put your name here> <And your email here>"
url = "<Package recipe repository url here, for issues about the package>"
description = "<Description of MyCMakeProject package here>"
topics = ("<Put some tag here>", "<here>", "<and here>")
# Binary configuration
settings = "os", "compiler", "build_type", "arch"
# Sources are located in the same place as this recipe, copy them to the recipe
exports_sources = "CMakeLists.txt", "src/*"
def layout(self):
cmake_layout(self)
def generate(self):
deps = CMakeDeps(self)
deps.generate()
tc = CMakeToolchain(self)
tc.generate()
def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
def package(self):
cmake = CMake(self)
cmake.install()
def requirements(self):
self.requires("gtest/1.13.0")
3. 安装
$conan install .
4. 编译运行
修改代码,调用 gtest 测试框架
#include "MyCMakeProject.h"
#include <gtest/gtest.h>
TEST(MyCMakeProject, test_1)
{
MyCMakeProject();
}
int main()
{
::testing::InitGoogleTest();
return RUN_ALL_TESTS();
}
编译快捷键:ctrl + b
运行快捷键:F5
后记
使用conan通常是简单的,这样极大简化了依赖库的操作。本地不需要根据源码手动的自行构建第三方库。此外,也可以将自己的代码打包到分布式服务器中,从而提供给其他人使用。
参考链接:
使用 conan 打包自己的制品