cmake 从Conan 1.x conanfile.txt迁移到Conan 2.0时如何替换导入conanfile.py?

mnowg1ta  于 2023-03-30  发布在  其他
关注(0)|答案(1)|浏览(365)

我正在尝试让imgui与OpenGL一起工作,使用Conan来管理我的依赖项。Imgui有后端,用于挂钩到您使用的任何渲染解决方案。
下面的链接描述了如何通过使用conanfile.txt的[imports]部分,使用Conan将这些内容提供给您的项目。
https://blog.conan.io/2019/06/26/An-introduction-to-the-Dear-ImGui-library.html
柯南2.0中已经去掉了imports()函数,我看过一些文档,说你现在需要在www.example.com中使用generate()函数conanfile.py来做同样的事情,我想知道的是如何转换:

[imports]
    ./misc/bindings, imgui_impl_glfw.cpp -> ../bindings
    ./misc/bindings, imgui_impl_opengl3.cpp -> ../bindings
    ./misc/bindings, imgui_impl_glfw.h -> ../bindings
    ./misc/bindings, imgui_impl_opengl3.h -> ../bindings

转换成我需要的generates()函数。
我还没有尝试太多,因为我不知道从哪里开始。

lsmepo6l

lsmepo6l1#

传统[imports]imports()的替代是conanfile.py的generate()方法中的显式copy()

from conan.tools.files import copy

def generate(self):
    for dep in self.dependencies.values():
        copy(self, "*.dylib", dep.cpp_info.libdirs[0], self.build_folder)
        copy(self, "*.dll", dep.cpp_info.libdirs[0], self.build_folder)

文档迁移指南中的更多信息

相关问题