在上一篇文章中, 我们介绍了一下Conan这个开源的包管理器并做了从Conan官方网站下载了依赖到本地, 接下里我将把Conan应用到我们之前写的Demo中
首先在CMakeLists.txt中添加Conan下载的依赖, 其中conanbuildinfo.cmake是运行conan install的时候生成的, conan_basic_setup()是由Conan提供的CMake宏, 用于简化Conan集成的配置步骤,它能够引入Conan构建依赖, 自动设置CMake变量并调整输出目录
cmake_minimum_required(VERSION 3.21.0)
project(Demo)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS})
接下来我们在main.cpp中使用之前Conan引入的依赖Poco库, 并简单使用Poco库打印出当前时间
#include <iostream>
#include <Poco/DateTimeFormatter.h>
#include <Poco/DateTimeFormat.h>
int main(){
std::cout << "Hello World" << std::endl;
Poco::DateTime now;
std::string formattedTime = Poco::DateTimeFormatter::format(now, Poco::DateTimeFormat::SORTABLE_FORMAT);
std::cout << "Current time: " << formattedTime << std::endl;
return 0;
}
代码编写完成之后, 目前整体的文件结构如下图所示:
接下里我们进入build目录,并编译代码
cd build
cmake ..
make
可以看到项目编译完成
在编译完成之后, 我们去运行Demo文件, 可以看到打印的Hello World 和当前时间